|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
авторПосмотрите все стандартные рекомендации по созданию среднего слоя: "создайте класс INVOICE, опишите связь этого класса с таблицей INVOICE на уровне get/set, добавьте необходимые методы (чья логика обычно остается в хранимых процедурах) и тд. Я извиняюсь - вам зачем это? Зачем вам класс INVOICE и связь этого класса с таблицей INVOICE на уровне get/set ? Вы без этого жить не можете? Попробуйте - вам понравится :) 50% работы сразу удйет как лишняя - все эти связи и т.д. Зачем вам они? А если не нужны будут - зачем вы определяли? Что у вас за архитектура приложения? Зачем вам этот средний слой, который вас заставляет делать вагон ненужной работы? авторПочему нельзя это делать уже на уровне сервера БД, где хранятся все данные? Так делайте, кто мешает? Хранимую процедуру уже не умеем написать? :) -- Tygra's -- ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2005, 10:19 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
А где будет ООП, скажем, лет эдак через 10, это еще бабушка надвое сказала...Может быть найдутся те, которые будут относиться к этой концепции, как к дурно понятому Евангелию. Я уже знаю одного такого остряка А вдруг мЫшление приднтся сменить? В том, новом, уже будут доминировать новые "ценности", такие, как матричность и приоритетность в hard-soft-овом контексте... ЗЫ А может и загнул я чуток, пятница как-никак ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2005, 10:27 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Люди, в чем вы пытаетесь меня убедить? Что бизнес-логика не должна крутиться на среднем слое? Я и так с этим согласен. В том, что сервера приложений - лишняя трата денег? И с этим согласен. В том, что процедурный подход к архитектуре приложений лучше объектно-ориентированного? Не убедите - все равно не соглашусь. ИМХО: о какой архитектуре приложения можно говорить в случае чистого клиент-серверного приложения (терминалы+сервер БД)? Тысячи таблиц + тысячи хранимых процедур? Или, как тут советовал кто-то - тысячи таблиц + 1 хранимая процедура, создающая динамический SQL код на все случаи жизни? Нет, я конечно понимаю, что все это будет работать, и работать быстро - у самих все так и работает - но как программисту мне милее ООП с его инкапсуляцией? наследованием и прочими фенечками. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2005, 10:46 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
авторно как программисту мне милее ООП с его инкапсуляцией? наследованием и прочими фенечками. Вот поэтому то и программисты не должны принимать решения о выборе платформы и используемых технологиях при оценке новых проектов. Слишком часто слова "правильно", "красиво", "милее", "круче" встречаются. Выбирать должен архитектор проекта, ориентируясь на риски, куда входит много чего, кроме вышеперечисленных слов. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2005, 10:58 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
ASCRUS авторно как программисту мне милее ООП с его инкапсуляцией? наследованием и прочими фенечками. Вот поэтому то и программисты не должны принимать решения о выборе платформы и используемых технологиях при оценке новых проектов. Слишком часто слова "правильно", "красиво", "милее", "круче" встречаются. Выбирать должен архитектор проекта, ориентируясь на риски, куда входит много чего, кроме вышеперечисленных слов. Вообще-то я работаю начальником управления разработки информационных систем в одной ооочень крупной фирме, но в душе все еще считаю себя себя программистом:) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2005, 11:24 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Дмитрию Сорокину. >В том, что сервера приложений - лишняя трата денег? И с этим согласен.. Я нет. Надо научиться их готовить. С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2005, 12:26 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Всем привет, Конкретно по данной теме хочу сообщить, что пользуюсь Apache+mod_perl+SSL+DBI+куча других модулей Perl. Меня радует простор GNU. Никого не зову к такому решению, поскольку фактически это равнозначно одиночному плаванию в море. Всем успехов на своем пути. Михаил ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2005, 13:40 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Дмитрий СорокинЛюди, в чем вы пытаетесь меня убедить? .... В том, что процедурный подход к архитектуре приложений лучше объектно-ориентированного? Не убедите - все равно не соглашусь. Вы что-то путаете, уважаемый :) В архитектуре приложений куда без ООП? Именно оно там и рулит. А вот в архитектуре бизнес-логики - извините, при чем тут ООП? Какой ООП может быть, если у вас таблицы в БД? Так что вы отделите мух от котлет - и все встанет на свои места. Клиентская часть - это только интерфейс системы, тут ООП. Серверная часть - это БЛ системы. Тут ХП. Все чинно и благородно ((с) фильм "не может быть"). авторИМХО: о какой архитектуре приложения можно говорить в случае чистого клиент-серверного приложения (терминалы+сервер БД)? Тысячи таблиц + тысячи хранимых процедур? Или, как тут советовал кто-то - тысячи таблиц + 1 хранимая процедура, создающая динамический SQL код на все случаи жизни? Нет, я конечно понимаю, что все это будет работать, и работать быстро - у самих все так и работает - но как программисту мне милее ООП с его инкапсуляцией? наследованием и прочими фенечками. Так вы сначала попробуйте описать, что вы хотите то от БД? Какого такого оопа? Мы пробовали в топике про ООБД представить идеальную СуперООБД с идеальным языком и т.д. и т.п. После мечтаний оказалось, что ничего не надо - лучше ХП ничего не придумать - ну если только лишний геморрой :) Так что нужно хоть попробовать представить, что хочется, а потом представить - а надо ли это? Да я и не пойму - кто вам мешает использовать инкапсуляцию и т.д. в клиентском приложении? Я не пойму вашей проблемы :) ВМоисеев>В том, что сервера приложений - лишняя трата денег? И с этим согласен.. Я нет. Надо научиться их готовить. Мухоморы вот тоже нужно уметь готовить, чтобы употреблять в пищу. А оно надо ? Вокруг столько съедобных грибов -- Tygra's -- ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2005, 16:42 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
tygraВы что-то путаете, уважаемый :) В архитектуре приложений куда без ООП? Именно оно там и рулит. А вот в архитектуре бизнес-логики - извините, при чем тут ООП? Какой ООП может быть, если у вас таблицы в БД? Так что вы отделите мух от котлет - и все встанет на свои места. Клиентская часть - это только интерфейс системы, тут ООП. Серверная часть - это БЛ системы. Тут ХП. . Погодите-ка. А что есть приложение без бизнес-логики? Интерфейс? И ООП нужна для рисования клиентской части? Однако. По моему при написания интерфейса (не создания библиотеки визуализационных элементов, а именно реализации конкретного интерфесса) ООП применима лишь в ограниченном смысле. Конечно можно наследовать уже созданные формы, но покажите мне того, кто это делает:) tygra Так что нужно хоть попробовать представить, что хочется, а потом представить - а надо ли это? Да я и не пойму - кто вам мешает использовать инкапсуляцию и т.д. в клиентском приложении? Я не пойму вашей проблемы :) Поясню. Я хочу при написании бизнес-логики оперировать не таблицами и хранимыми процедурами, а объектами, свойствами и методами. Помимо этого я хочу инкапсулировать бизнес-логику и данные. Плюс, иметь возможность наследовать уже созданную бизнес-логику. И т.д. и т.п. Именно это дает (при всех их недостатках) использование среднего слоя и серверов приложений. Так работают J2EEшные сервера, так позволял работать MTS, так вы работаете с ABAPом в SAPе, к этому призывает микрософт, говоря о веб-сервисах. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2005, 17:23 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Дмитрий Сорокин tygraВы что-то путаете, уважаемый :) В архитектуре приложений куда без ООП? Именно оно там и рулит. А вот в архитектуре бизнес-логики - извините, при чем тут ООП? Какой ООП может быть, если у вас таблицы в БД? Так что вы отделите мух от котлет - и все встанет на свои места. Клиентская часть - это только интерфейс системы, тут ООП. Серверная часть - это БЛ системы. Тут ХП. . Погодите-ка. А что есть приложение без бизнес-логики? Интерфейс? И ООП нужна для рисования клиентской части? Однако. По моему при написания интерфейса (не создания библиотеки визуализационных элементов, а именно реализации конкретного интерфесса) ООП применима лишь в ограниченном смысле. Конечно можно наследовать уже созданные формы, но покажите мне того, кто это делает:) Оопс. Оказывается ООП не для наследования форм, создания визуальных и невизуальных повторноиспользуемых компонент создано и все исключительно его по назначению используют - с множествами данных работают Ну круто. А Вы что, правда интерфейсы каждый раз с нуля рисуете или у Вас что то, что имеет ограниченные возможности в этом плане ( Delphi например не сильна ;) ). Зайдите-ка на форум PowerBuilder. Там с иерархии интерфейса построение клиентского приложения и начинается, а вот работу с данными как раз на себя берет DataWindow, который ничего близкого к ООП не имеет, а является аналогом локального хранилища, визуализации и обработки данных (даже со своим внутренним языком), которое получает данные с внешних источников. Дмитрий Сорокин tygra Так что нужно хоть попробовать представить, что хочется, а потом представить - а надо ли это? Да я и не пойму - кто вам мешает использовать инкапсуляцию и т.д. в клиентском приложении? Я не пойму вашей проблемы :) Поясню. Я хочу при написании бизнес-логики оперировать не таблицами и хранимыми процедурами, а объектами, свойствами и методами. Помимо этого я хочу инкапсулировать бизнес-логику и данные. Плюс, иметь возможность наследовать уже созданную бизнес-логику. И т.д. и т.п. Именно это дает (при всех их недостатках) использование среднего слоя и серверов приложений. Так работают J2EEшные сервера, так позволял работать MTS, так вы работаете с ABAPом в SAPе, к этому призывает микрософт, говоря о веб-сервисах. Можно глупый вопрос - а зачем Вы хотите оперировать обьектами, свойствами и методами ? И кстати и веб-сервисы уже не только удел 3-х звенок - например в РСУБД ASA9 собственный встроенный веб-сервер и полноценная поддержка веб-сервисов, которые очень удачно и кратко пишутся на языке хранимых процедур, работа с внешними веб-сервисами и полная поддержка XML. Ну и ... зачем тогда ООП ? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2005, 17:43 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Дмитрий СорокинПоясню. Я хочу при написании бизнес-логики оперировать не таблицами и хранимыми процедурами, а объектами, свойствами и методами. Помимо этого я хочу инкапсулировать бизнес-логику и данные. Плюс, иметь возможность наследовать уже созданную бизнес-логику. И т.д. и т.п. Именно это дает (при всех их недостатках) использование среднего слоя и серверов приложений. Так работают J2EEшные сервера, так позволял работать MTS, так вы работаете с ABAPом в SAPе, к этому призывает микрософт, говоря о веб-сервисах. Полностью поддерживаю за единственным исключением - если бы подобный механизм был встроен в БД, было бы гораздо интереснее. Какой смысл создавать промежуточный уровень, занимающийся маппингом реляционных данных на объекты и обратно, если можно было бы при помощи запросов, подобных SQL получать из базы данных типизированные объекты и коллекции. tygraВы что-то путаете, уважаемый :) В архитектуре приложений куда без ООП? Именно оно там и рулит. А вот в архитектуре бизнес-логики - извините, при чем тут ООП? Какой ООП может быть, если у вас таблицы в БД? Так что вы отделите мух от котлет - и все встанет на свои места. Клиентская часть - это только интерфейс системы, тут ООП. Серверная часть - это БЛ системы. Тут ХП. Узко мыслите уважаемый. Ну напишите вы ХП, а как повторно использовать вашу бизнес-логику? Где наследование, инкапсуляция, полиморфизм на уровне ХП? Не боитесь завязнуть в бесконечных переделках половины ваших ХП при небольшом изменении логики системы? Даже просто поддерживать подобные базы неудобно. На поиск нужной ХП в списке из 1500 штук мне требуется довольно длительное время. Разрабатывать и затем развивать и поддерживать системы, где вся логика в ХП - очень геморное занятие по сравнению с поддержкой аналогичной по объему системы, написанной на нормальном ОО-языке. To ASCRUS: Оопс. То есть вы отрицаете возможность использования ОО-подхода при реализации бизнес-логики? ООП предназначено только для построения пользовательского интерфейса? Ну и новости... Ну что же, флаг вам в руки, пишите все на ХП. Это тоже вариант, при условии, что логика достаточно простая и система не очень большая. При усложнении логики и увеличении размера системы начинают проявляться проблемы такого подхода. Ну собственно, можно здесь развести дискуссию о том, чем ОО-язык лучше процедурного, каким является процедурное расширение SQL, на котором собственно и пишутся ХП. Только зачем, это и так много раз мусолилось еще лет 10-20 назад. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2005, 17:59 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Дмитрий СорокинПоясню. Я хочу при написании бизнес-логики оперировать не таблицами и хранимыми процедурами, а объектами, свойствами и методами. Помимо этого я хочу инкапсулировать бизнес-логику и данные. Плюс, иметь возможность наследовать уже созданную бизнес-логику. И т.д. и т.п. Именно это дает (при всех их недостатках) использование среднего слоя и серверов приложений. Так работают J2EEшные сервера, так позволял работать MTS, так вы работаете с ABAPом в SAPе, к этому призывает микрософт, говоря о веб-сервисах.Очень хорошее желание. И все очень хорошо бегает НО до определенного предела. У меня сейчас система на чистых SQL-запросах + ХП из них же очень так хорошо прогибается на больших объемах. До меня работали на C-диез - тормоз был совсем чугунный (после была переписана вся система). Вывод: с одиночными данными хорошо работать на обектах, но вот таблички гонять по 10 млн. записей через объекты уже не получится. ПРИХОДИТСЯ применять SQL потома что он быстрее . ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2005, 18:03 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Ну давайте уважаемые адепты 3-х звенок спустимся наконец на землю и на конкретных примерах от вас услышим, что же это за бизнес-логика такая у вас сложная, что она выльется в тысячи хранимых процедур с большим кол-вом кода, да еще который из за изменения ТЗ весь почему то лопатить придется ? У меня вот никак не получается придумать - и расчет зп на ХП нормальный и расчет коммуналки не хуже, и расчет по графам потребления энергии для РАО на ХП и даже свой компилятор хранимых процедур на базе HTML макетов, которые дальше для веб-сервисов генерили по макетам HTML (можно сказать в чем то аналог PHP/ASP, но с поддержкой еще макросов, где в качестве встроенного языка был сам язык хранимых процедур) ... причем писал я этот компилятор ... как раз на ХП (их меньше 10 штучек получилось и кода тоже много не наблюдалось). В чем же тогда дело ? А как в бедных функиональных языках без ООП живут, ну просто ума не приложу ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2005, 18:09 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VoDA: а вы гоняете 10 млн записей на промежуточный слой? или на клиента? А смысл? Такую логику, которая требует перелопатить 10 млн записей проще все же реализовать в базе данных просто потому что гонять такие объемы данных куда бы то ни было накладно. Собственно то что я говорил про ОО-подход не отменяет использование ХП ни в коей мере. Я не говорю о том случае, когда мы на ОО-языке начнаем построчно обрабатывать данные вместо того, чтобы использовать возможности SQL. Просто ОО-подход в данный момент лучше всего подходит для структурирования всего приложения, и бизнес-логика не исключение. Да, в конечном итоге большая ее часть будет реализована в ХП. Но опять же лучше написать небольшое количество более-менее универсальных ХП и потом использовать их из ОО-языка в промежуточном слое, чем на каждый чих писать свою ХП, поддерживать которые потом совершенно неудобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2005, 18:16 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
ASCRUS: Ну давайте возьмем любую ERP-систему средней сложности в целом. Как вы думаете, какая там должна быть бизнес-логика по объему? Попробуйте прикинуть количество операций, который выполняет эта система. И скажите, почему практически все эти системы работают в 3-х и более звенном режиме? Исключительно из дани моде или все же по каким-то другим причинам? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2005, 18:25 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Да, пару слов насчет бедных функциональных языков: практически все современный диалекты функциональных языков имеют ОО-возможности. Я уже не говорю про ОО-языки с некоторыми чертами функциональных, которых тоже навалом. В последнее время вообще идет тенденция к сближению этих двух подходов. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2005, 18:27 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
2 VladiCh В проектировании, разработке и поддержке сколькИх 3-х уровневых ERP систем с БЛ на среднем уровне лично вы принимали участие ? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2005, 18:38 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
В проектировании и разработке собственной системы принимал участие (это скорее некий framework, на котором пока реализован склад, CRM + workflow, CMS. Просто стояла задача сделать систему максимально расширяемой, которая легко могла бы масштабироваться и обрастать другой функциональностью. Поэтому изучал архитектуру других систем, некоторые из которых относятся к ERP ли же "почти ERP", некоторые к другим классам систем (CRM, документооборот). Был опыт доработки и поддержки самописной 2-х звенной системы, впечатления от этого остались не очень хорошие. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2005, 19:00 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VladiChВ проектировании и разработке собственной системы принимал участие (это скорее некий framework, на котором пока реализован склад, CRM + workflow, CMS. Просто стояла задача сделать систему максимально расширяемой, которая легко могла бы масштабироваться и обрастать другой функциональностью. Поэтому изучал архитектуру других систем, некоторые из которых относятся к ERP ли же "почти ERP", некоторые к другим классам систем (CRM, документооборот). Был опыт доработки и поддержки самописной 2-х звенной системы, впечатления от этого остались не очень хорошие. Понятно, спасибо за честный ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2005, 19:20 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VoDAУ меня сейчас система на чистых SQL-запросах + ХП из них же очень так хорошо прогибается на больших объемах. До меня работали на C-диез - тормоз был совсем чугунный (после была переписана вся система). Вывод: с одиночными данными хорошо работать на обектах, но вот таблички гонять по 10 млн. записей через объекты уже не получится. ПРИХОДИТСЯ применять SQL потома что он быстрее . Черт, опять меня не понимают! Попробую пояснить еще раз. Наша информационная система существует уже 10 лет. Это чистая 2х-звенка - вся логика в ХП. У системы есть вылизанное и много раз рефакторенное ядро. Вокруг ядра за 10 лет накопилось огромное количество логики, писавшееся множеством программистов. Для написания интерфейсов использовалось все - начиная от Access 2.0 кончая С++, Delphi и VB. За эти 10 лет система превратилась в монстра, состоящего из тысяч таблиц, процедур, вьюх и тп., который мы наконец решили полностью рефакторить. Основная причина рефакторинга то, что поддерживать систему, а тем более вносить в нее изменения становится все сложнее. Суть рефакторинга состоит в создании классов-оберток для объектов БД. Упрощенно говоря таблицы - это классы, поля - свойства, хранимые процедуры - методы. Классы создаются динамически на основе метаданных. Помимо классов создается и интерфейс - тоже на основе метаданных. Нет необходимости переписывать имеющуюся бизнес-логику - достаточно описать ее в метаданных. Посмотрите мои предыдущие посты в этой ветке - там про это написано. Я в одном из постов приаттачил описание библиотеки, создающей классы на основе описания БД - посмотрите, кому интересно. То, что мы делаем, должна, с моей точки зрения, мочь сама БД. Если бы механизмы ООП были бы встроены в БД изначально, мы бы с самого начала избежали многих проблем. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2005, 20:13 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Дмитрий Сорокин Основная причина рефакторинга то, что поддерживать систему, а тем более вносить в нее изменения становится все сложнее. Недостаточно для поддержания системы иметь ВНЕШНЕЕ (по отношению к SQL серверу) объектное описание системы (базы) (внешняя программа - одна для всех - в смысле созданная кем-то, купленная) - изменяя которое автоматом менялось бы содержание SQL-сервера (таблицы, связи, процедуры, и т.д.) ? Используя которую (ВНЕШНЕЕ объектное описание) - можно было бы создавать шаблоны запросов к базе (без мучительных поисков - что означает та или иная таблица, вьюха). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2005, 21:28 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VladiChУзко мыслите уважаемый. Ну напишите вы ХП, а как повторно использовать вашу бизнес-логику? Где наследование, инкапсуляция, полиморфизм на уровне ХП? Не боитесь завязнуть в бесконечных переделках половины ваших ХП при небольшом изменении логики системы? Очень сильно зависит от того, насколько прямые ручки были у проектировщика. VladiChДаже просто поддерживать подобные базы неудобно. На поиск нужной ХП в списке из 1500 штук мне требуется довольно длительное время.желательно грамотно именовать ХП впрочем как и классы, так что это относится и к ООП. (поиск нужного класса из 1500 это - забавно наверное). VladiChРазрабатывать и затем развивать и поддерживать системы, где вся логика в ХП - очень геморное занятие по сравнению с поддержкой аналогичной по объему системы, написанной на нормальном ОО-языке.Голословно. VladiChVoDA: а вы гоняете 10 млн записей на промежуточный слой? или на клиента? А смысл? Такую логику, которая требует перелопатить 10 млн записей проще все же реализовать в базе данных просто потому что гонять такие объемы данных куда бы то ни было накладно.Пример есть исхходная база - DBF или Access, нужно данные из нее добавить в БД с идентификацией нужных сущьностей и т.п. Раньше писали приложение, которое являлось клиентом для БД. Оно обрабатывало и загоняло данные на сервер. Из-за диких тормозов переделали и сейчас идет обработка только на сервере БД VladiChСобственно то что я говорил про ОО-подход не отменяет использование ХП ни в коей мере. Я не говорю о том случае, когда мы на ОО-языке начнаем построчно обрабатывать данные вместо того, чтобы использовать возможности SQL. Просто ОО-подход в данный момент лучше всего подходит для структурирования всего приложения, и бизнес-логика не исключение. Да, в конечном итоге большая ее часть будет реализована в ХП. Но опять же лучше написать небольшое количество более-менее универсальных ХП и потом использовать их из ОО-языка в промежуточном слое, чем на каждый чих писать свою ХП, поддерживать которые потом совершенно неудобно.Универсальные ХП могут оказаться большим злом для системы. Вывод (для себя): Я соглашусь, но только добавлю, что везде где идет работа с массивами данных стоит использовать SQL, а на единичных объектах - ООП. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2005, 17:08 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
Дмитрий Сорокин Черт, опять меня не понимают! Зато стараются. Дмитрий Сорокин Суть рефакторинга состоит в создании классов-оберток для объектов БД. Упрощенно говоря таблицы - это классы, поля - свойства, хранимые процедуры - методы. Классы создаются динамически на основе метаданных. Помимо классов создается и интерфейс - тоже на основе метаданных. Нет необходимости переписывать имеющуюся бизнес-логику - достаточно описать ее в метаданных. Посмотрите мои предыдущие посты в этой ветке - там про это написано. Я в одном из постов приаттачил описание библиотеки, создающей классы на основе описания БД - посмотрите, кому интересно. а не будет ли проше переписать ядро, вместо написания оберток к ТОМУ, что у вас есть. Или опять не понял. Дмитрий СорокинТо, что мы делаем, должна, с моей точки зрения, мочь сама БД. Если бы механизмы ООП были бы встроены в БД изначально, мы бы с самого начала избежали многих проблем.Объективная реальность такова, что этого нет. Почему нет это другой вопрос, но решать вам надо не его. С Уважением, VoDA ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2005, 17:12 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VoDA проше читай проще т.е еще раз вы пишете обертки к: Дмитрий СорокинЗа эти 10 лет система превратилась в монстра, состоящего из тысяч таблиц, процедур, вьюх и тп., который мы наконец решили полностью рефакторить ИМХО это хм... не обычно. Очень... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2005, 17:25 |
|
Создание сервера приложений
|
|||
---|---|---|---|
#18+
VoDAа не будет ли проше переписать ядро, вместо написания оберток к ТОМУ, что у вас есть. Или опять не понял. Эх, ядро то у нас хорошее, на нем то все 10 лет и держится:) Но ведь бизнес-логика то не в ядре, а в конкретных модулях. Типа, есть у вас документ - накладная. Это набор таблиц - голова, деталировка и т.п. Есть набор хранимых процедур, связанных с накладной, в которых лежит бизнес-логика накладной. Все это дело описывается в метаданных, на основе чего создается класс "Накладная". Сам класс является лишь интерфейсом к таблицам и хранимым процедурам. Но теперь программисту нет нужды работать с таблицами и процедурами - он работает с классом и методами. Плюс - все преимущества ООП - наследование, полиморфизм и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2005, 18:07 |
|
|
start [/forum/topic.php?fid=33&msg=33310832&tid=1548944]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
127ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 258ms |
0 / 0 |