Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];

Вниз

Реляционная БД и ООП   Найти похожие ветки 

 
infom ©   (2007-01-17 11:22) [0]

Уважаемые мастера, у меня возникла небольшая проблема, хотя скорее не проблема, а противоречие.... даже не знаю к какой области отнести.

Я занимаюсь написанием информационных систем, в качестве сервера использую MS SQL Server 2000 или 2005. При написании руководствуюсь правилом:
"Большая часть (90 %) логики работы системы должна быть сосредоточена на сервере". Все отлично идет, уже третий год.
Недавно начальник подразделения, которое я автоматизировал задал мне вопрос: "А вы пишите эти программы с использованием ООП ?" . Сразу ответить я затруднился...., а затем и призадумался....

1. Конечно все свои и чужие компоненты которые я использую написаны с использованием ООП.
2. Вся база данных написано с использованием процедур, функций, вьювов и триггеров - ООП это сложно назвать хотя.... может это в принципе и есть ООП.
3. А вот в программах клиентах иногда ООП я брезгую и мне проще написать обыкновенную процедуру или функцию чем писать класс, для использования его в одном месте.

Так вот получается я пишу программы с использованием ООП, но не полностью на ООП... а я все время думал что у меня полное погружение в объектно ориентированное программирование....

Хотелось бы услышать ваши мысли по этому поводу...


 
Sergey13 ©   (2007-01-17 11:30) [1]

Анекдот в тему.
Идет бородатый профессор. К нему подходит студент и спрашивает:
- Профессор, а когда вы спите, вам бороду удобнее на одеяло класть или под одеяло прятать?
- Не знаю, не задумывался.
Через неделю встречаются снова и профессор набрасывается на студента:
- Блин, неделю уже уснуть не могу - и на одеяло не удобно и под одеяло не очень.


 
Ega23 ©   (2007-01-17 11:33) [2]

http://delphimaster.net/view/3-1168873266/


 
tesseract ©   (2007-01-17 11:38) [3]

ООП у тебя не полное, используй PoistgresQl для достижения полного ООП :-)


 
DiamondShark ©   (2007-01-17 11:38) [4]


> Недавно начальник подразделения, которое я автоматизировал
> задал мне вопрос: "А вы пишите эти программы с использованием
> ООП ?" .

"Сколько поднято зябИ?"
(ц) Анискин и фантомас


 
clickmaker ©   (2007-01-17 11:41) [5]


> Недавно начальник подразделения, которое я автоматизировал
> задал мне вопрос: "А вы пишите эти программы с использованием
> ООП ?"

а с чегой-то вдруг начальство такие каверзные вопросы стало задавать?


 
DiamondShark ©   (2007-01-17 11:43) [6]


> Хотелось бы услышать ваши мысли по этому поводу...

Мысль простая: если оно работает, удовлетворяет требованиям предметной области, то, пардон за мой французский, не похрену ли, какое там погружение?


 
infom ©   (2007-01-17 11:45) [7]

> [1] Sergey13 ©   (17.01.07 11:30)

За анекдот спасибо, действительно в тему.

> [2] Ega23 ©   (17.01.07 11:33)

Почитал...спасибо...проблемы у всех сходятся, только решают их по разному.

> [3] tesseract ©   (17.01.07 11:38)

Использовать постгрю уже не получится, да и смысла нет.

> [5] clickmaker ©   (17.01.07 11:41)

Видимо начиталось или на семинарах наслушалось...


 
tesseract ©   (2007-01-17 11:50) [8]


> Использовать постгрю уже не получится, да и смысла нет.


Как нет от тебя же "полного " ООП требуют :-)


 
infom ©   (2007-01-17 12:01) [9]

> [8] tesseract ©   (17.01.07 11:50)
> Как нет от тебя же "полного " ООП требуют :-)

Требовать они не смогут, тем более на техническую реализацию их требования распространятся не могут, это сугубо моя прерогатива, тут видимо тот самый случай, который описан в анекдоте [1]


 
vuk ©   (2007-01-17 12:48) [10]

to infom ©   (17.01.07 11:22) :
>Недавно начальник подразделения, которое я автоматизировал задал мне
>вопрос: "А вы пишите эти программы с использованием ООП ?"
Начальник этот, скорее всего, просто захотел дать понять, что он тоже это "слово на три буквы" знает. Типа не шиком брит. :))


 
kaZaNoVa ©   (2007-01-17 16:26) [11]

infom ©   (17.01.07 11:22)
3. А вот в программах клиентах иногда ООП я брезгую и мне проще написать обыкновенную процедуру или функцию чем писать класс, для использования его в одном месте.

аналогично, никогда классы не юзал и не жалел о этом))


 
infom ©   (2007-01-25 13:18) [12]

> аналогично, никогда классы не юзал и не жалел о этом))

Классы я же использую довольно часто, но тек как хотелось бы конечно...


 
Megabyte ©   (2007-01-25 13:23) [13]

Думаю, писать класс надо, когда это действительно требуется, а не для 2-3-х процедур/функций, выполняющих определенные действия...


 
tesseract ©   (2007-01-25 13:42) [14]


> Megabyte ©   (25.01.07 13:23) [13]


Классы облегчают повторное использование кода.


 
Megabyte ©   (2007-01-25 14:50) [15]

Если процедуры в 2-4 строчки, то создание класса с 2-3-мя процедурами только усложнит все это, только код плодить. Проще имхо сделать просто 2-3 процедуры и использовать сколько угодно раз. Все зависит от масштаба задачи, я думаю.

з.ы.Только не надо меня считать противником ООП :)


 
evvcom ©   (2007-01-25 15:35) [16]

Если процедура/функция выполняет действия над каким-то объектом или чем-то, что можно представить как объект, то, вероятно, лучше ЭТО представить классом. Если же надо написать функцию типа IntToStr, не имеющую никакого отношения ни к каким объектам, то, очевидно, нет смысла и класс городить. Вот если бы string был как в MS VC++ классом (MFC), то и все XxxToStr, StrToXxx и им подобные тоже был бы смысл оформить как метод класса. Имхо.


 
TUser ©   (2007-01-25 15:51) [17]

ИМХО, начальнику надо сказать, что пишешь с использование ООП, экстремального программирования, case-технологий, распределенных вычсилений, трезвенных технологий типа "клиент-сервер", ... короче напиши сюда все модные слова, которые знает твой начальник. И продолжай писать "так, чтобы работало".

Потому что, судя по вопросу начальника, он начальник нетехнический. Иначе бы знал о том, как устроен проект, и глупых вопросов не задавал бы. А раз такие вопросы задает, значит он - большой начальник. Ну, сказал ему кто-то новое модное слово - ООП, ну поверил начальник, что это круто. Какая нафиг разница, чего ему сообщить. Работает - и фиг с ним.


 
tesseract ©   (2007-01-25 19:41) [18]

> то, очевидно, нет смысла и класс городить.


Всегда любил CString в MFC :-)


 
infom ©   (2007-01-26 15:10) [19]

> [16] evvcom ©   (25.01.07 15:35)


В принципе я так и сделал....
Меня просто интересует глобальный вопрос:

Что при использовании БД уровня MS SQL Server писать код с использование ООП вообще не приходится, 95 % работы дело компонентов работы с данными, а остальные 5 % кода - инициализация и финализация работы с конкретной сущностью..


 
Плохиш ©   (2007-01-26 15:37) [20]


> Что при использовании БД уровня MS SQL Server писать код
> с использование ООП вообще не приходится

Долго сидел, думал, но так и не понял какая связь между БД и ООП :-(


 
Darvin ©   (2007-01-26 16:10) [21]

Вся VCL построена на ООП. Если работаешь с БД с использованием компонентов - тады ООП.


 
evvcom ©   (2007-01-26 16:17) [22]

> [19] infom ©   (26.01.07 15:10)
> Что при использовании БД уровня MS SQL Server писать код
> с использование ООП вообще не приходится

Ты знаешь, а я использую СУБД "уровня Oracle", и мне то и дело приходится использовать ООП. Может я чего-то не понимаю? :)
Причем тут это?


> [18] tesseract ©   (25.01.07 19:41)
> Всегда любил CString в MFC :-)

Мне его любить не приходилось, но знаком :) Потому и упомянул.

> [20] Плохиш ©   (26.01.07 15:37)
> Долго сидел, думал, но так и не понял какая связь между
> БД и ООП :-(

Видимо, нам с тобой его не понять :-(


 
kaif ©   (2007-01-26 16:32) [23]

Уважаемые мастера, у меня возникла небольшая проблема, хотя скорее не проблема, а противоречие.... даже не знаю к какой области отнести.

...Недавно начальник подразделения, которое я автоматизировал задал мне вопрос: "А вы пишите эти программы с использованием ООП ?" . Сразу ответить я затруднился...., а затем и призадумался....


Проблема из области психологии, а не программирования.

Вот откуда такая уверенность, что начальник положительно оценивает ООП? Может начальник просто интересовался... Может быть просто он решил, к примеру, написать статью под названием "От ООПу нету проку, ну его ООПа в ...пу, избавляйтесь от химер - наш пример тому пример!"?

А вот то, что сам по себе этот вопрос начальника вызвал к жизни некий комплекс неполноценности говорит об амбивалентном отношении к ООП у автора сабжа.
С одной стороны автор сабжа считает ООП некоторой религией (иначе вопрос начальника не поверг бы его в такое замешательство), с другой стороны автор сабжа в определенном смысле человек рациональный (атеист относительно ООП), но не уверен в том, что начальник такой же рациональный человек. Это как в анекдоте про сумасшедшего, которого психоаналилитик вылечил от идеи-фикс о том, что тот - пшеничное зерно. А когда они шли по улице, бывший пациент вдруг шарахнулся от курицы и на вопрос психоаналитика "разве Вы не знаете, что Вы не пшеничное зерно?" ответил так "Я-то уже знаю, но вот курица пока нет..."

Почему я говорю об амбивалентности? Да потому что если бы автор сабжа всерьез считал повсеместное использование ООП необходимым условием добросовестного написания клиент-серверных приложений, то он бы из кожи вон лез, чтобы все у него было именно так (надо или не надо) еще до всяких вопросов начальства, а если бы и не лез, то постоянно испытывал бы фрустрацию и чувство вины, ожидая таких вопросов.

Однако этого не происходило.

Комплекс пробудился к жизни лишь после того, как начальник задал свой сакраментальный вопрос.

Предлагаемый метод лечения.
Найти максимум рациональных аргументов за и против ООП применительно к текущим имеющимся разработкам и иметь их на тот случай, если начальник вновь заведет разговор на эту тему. Что бы ни двигало начальником, рациональную аргументацию услышать всегда приятно и полезно. Не исключено, что в процессе поиска рациональных аргументов "за" и "против" удастся пересмотреть отношение к некоторым фрагментам собственного кода и может быть что-то усовершенстовать.

Я лично комбинирую ООП с процедурным программированием, исходя в основном из собственного удобства. Правда надо мной нет начальников. :)



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.53 MB
Время: 0.06 c
2-1170264012
Шоломицкий С. А.
2007-01-31 20:20
2007.02.18
Объединение UPDATE


2-1170276381
Wlad_M
2007-01-31 23:46
2007.02.18
Как вписать недостающий класс в экзешник


3-1163080786
Megabyte
2006-11-09 16:59
2007.02.18
Аналог Profiler а(для MSSQL) для Firebird 2.0


2-1170413046
Extar
2007-02-02 13:44
2007.02.18
Чем лучше соорудить инсталлятор для своей программы?


2-1170176286
NikNet
2007-01-30 19:58
2007.02.18
Мне нужно получить строку анализа от SQL от компонента ADOQuery





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский