Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.18;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.033 c
15-1169755706
Михель
2007-01-25 23:08
2007.02.18
Подскажите почтовик с паролем!


2-1170323414
oleg_veles
2007-02-01 12:50
2007.02.18
Ошибка при построении запроса


2-1170158867
fisherman
2007-01-30 15:07
2007.02.18
Печать этикеток в Делфи


15-1168099871
Алексей С.
2007-01-06 19:11
2007.02.18
Алгоритм проведения соревнования по олимпийскаой системе.


15-1170099470
hmmm
2007-01-29 22:37
2007.02.18
помогите перевести фразу с eng.