|
|
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
Если все можно сделать просто с помощью .NET и Table Model? Читаю тут Patterns of Enterprise Application Architecture Фаулера и он прямо пишет, что в .NET реализованы прекрасные средства поддержки Record Setов и Table Model и логику любой сложности можно сделать использую только их. Тогда зачем морока с Hibernate и прочими O/R Mappings? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2006, 13:41 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
чувак у тебя что с головой Здесь обсуждается Java, а не .Net ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2006, 13:57 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
Вы видимо не особо понимаете что такое Domain Model и в чем смысл данного типа архитектуры. Кстати между Domain Model и средствами ORM связи нет абсолютно никакой, если не хотите использовать Domain Model используйте архитектуру типа клиент сервер (при этом не забываем 7 отмерить прежде чем 1 раз испортить :)). Про средства ORM вам тоже нужно почитать побольше чтобы знать как минимум их типы и что они из себя представляют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2006, 14:30 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
Partisan Mчувак у тебя что с головой Здесь обсуждается Java, а не .Net тут по моему тусят те у кого с головой мысли и мозги, а не зацикленные на каком то одном пупе партизаны. Вопрос Iнtepeсующегося ахиренно в тему. OUВы видимо не особо понимаете что такое Domain Model и в чем смысл данного типа архитектуры. Кстати между Domain Model и средствами ORM связи нет абсолютно никакой, если не хотите использовать Domain Model используйте архитектуру типа клиент сервер (при этом не забываем 7 отмерить прежде чем 1 раз испортить :)). Про средства ORM вам тоже нужно почитать побольше чтобы знать как минимум их типы и что они из себя представляют. Domain model - способ организации слоя бизнес логики, т.е. понятие дважды "логическое", во-первых потому, что это pattern, во-вторых потому, что слой понятие тоже логическое (в отличие от слова tier). а вот архитектура это "клиент сервер", "трёхзвнная" т.е. это понятие физическое. (пробежал Фаулера всё немножко сложнее но и так сойдёт) ORM это если хотите библиотека отображающая друг на друга структуры. .NET это понятие маркетиноговое. просто все они тесно связаны guideline'ами и поэтому переплетаются в мозгах. А раскидать их все по полкам это действительно вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2006, 15:24 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
OUВы видимо не особо понимаете что такое Domain Model и в чем смысл данного типа архитектуры.Что там знать-то? Вот передо мной книжка: Chapter 9. Domain Logic Patterns Transaction Script Domain Model Table Module Service LayerТри типа организации логики третьего звена. Описаны недостатки Transaction Script при росте сложности приложения и логики, достоинства Domain Model и тот же М.Фаулер в главе Table Module расписывает его прелести и отсутствие недостатков. Среди отсутствия недостатков: отсутствие необходимости в сложных (и дорогих) DataMapperах и O/R Mapping Tools ибо на каждую таблицу сооружается объект Table Module, которые затем и взаимодействуют. Скачайте книгу и прочтите сами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2006, 15:30 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
рассмотрим несколько фактов (в подтверждение пред) 1.на русском форуме hibernate.org самый частый (ИМХО) случай ORM - это клиент-сервер (толстый клиент), кто не понял - на хибере. 2.отсоединённые набор есть на яве и зовётся он RowSet. 3.Visual Studio просто так сделана, что запускаешь её и так и тянет налобать клиент-сервер. Но там можно трёхзвенку делать: DCOM-фасад выбирает и постит RecordSet'ы, просто тогда всё сложнее и нужно больше думать, а с такой красиво средой делать это некогда. (и написано про это хринова) Подобным свойством обладает JBuilder, то же самое - "клиент-сервер" тока отлетает. 4. Hiber портирован на .Net "о ужац!!!" NHibernate называется. 5. Хибер к сожалению слабоват для трёхзвенки с толстым клиентом - необходима штука типа EMF-SDO чтобы сериализованные объекты были больше похожи на RecordSet'ы. т.е. в этом случае хибер нивывозит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2006, 15:40 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
Про преимущество domain Model написано в вашей же любимой книжке. Бизнес-логика в таких классах кодируется гораздо "лучче". Не надо думать о данных, ключах и пр.. Экземпляры представляют собой модели предм. области человечег, заказ, поставка ... имеют друг с другом прямые ассоциации без всяких гвоздей (очень удобно если представление работает в том же адр.пространстве) к вашим услугам настоящее наследование, делегирование и т.д. т.е если мы говорим о трёхзвенной архитектуре (а про клиент-сервер я говорить отказываюсь) то есть два варианта: .Net RecordSet и Java HiberDomain Model. Фасад в обоих случаях аналогичен (или не нужен в Web'е) тут рецепт один - практика. пяти табличное приложение действительно быстрее накидать на recordset'ах (и .Net рулит), а вот когда классов модели предм. области будет за пол сотни (это "не ахиреть сколько", а "жестокий бизнес") ... начнётся жуткая скука. снова повторюсь, оба способа организации бизнес логики доступны на обоих платформах - шер ше ля tools. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2006, 16:11 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
нет, ну каменты будут. я для кого это пешу? себе, что ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2006, 15:30 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
exppнет, ну каменты будут. я для кого это пешу? себе, что ли?Судя по этому посту ^, для себя :) без обид ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2006, 19:01 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
exppнет, ну каменты будут. я для кого это пешу? себе, что ли?Походу тут только мы с тобой во что-то вникаем, остальным по барабану, читают методички Вот, тут подхватили правда перенесли в философию Модератор: мат удален ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2006, 19:30 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
JozicСудя по этому посту ^, для себя :) без обид м...да... ну фиг я когда ещё раз на кнопки своими немащными мазгами надавлю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2006, 00:05 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
exppнет, ну каменты будут. я для кого это пешу? себе, что ли? Ну держи. Аффтар жжет ! Но многа букаф и нипанятных слоф. Асобинна панравилась про вижуал Студию. Пиши ище ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 01:00 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
спасиба мастер зив за каммент. спасибо, Грасов за реабилитацию топега. Но мастер зив не просёк, что афтаржжотом моих графоманских амбиций не удовлетворить. Мне бы хотелось услышать обоснованныю критику моего мнения, на формирование которого мне понадобилось довольно много времени и сил. Если кроме афтаржжотов ничего не увижу - больше топег поднимать не буду (это модераторам). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 02:22 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
exppспасибо, Грасов за реабилитацию топега. это не мне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 10:21 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
MasterZivАффтар жжет ! Но многа букаф и нипанятных слоф. Асобинна панравилась про вижуал Студию. Пиши ище !здорафске. што, денис попов, доволен каментами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 10:22 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
А.Грасоff™здорафске. што, денис попов, доволен каментами? MasterZivАффтар жжет ! Но многа букаф и нипанятных слоф. Асобинна панравилась про вижуал Студию. Пиши ище ! Илья, этот топик уже не в ПТ:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 13:24 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
авторDomain model - способ организации слоя бизнес логики, т.е. понятие дважды "логическое", во-первых потому, что это pattern...Domain Model это тип архитектуры, а не design pattern (для интересующихся, design pattern с аналогичными свойствами/функциями называется Facade). Вообще Domain Model появилась в Smalltalk еще лет 30 тому назад, равно как и основные design patterns (но о них сейчас речь не идет). В дальнейшем этот тип архитектуры перекачевал в другие технологии/языки и получил развитие в виде MVC и тд. авторORM это если хотите библиотека отображающая друг на друга структуры. ORM это mapping между реляционной и обьектно ориентированной парадигмами. Цель ORM - обеспечение data persistence между ОО системой и RDMBS. авторпросто все они тесно связаны guideline'ами и поэтому переплетаются в мозгах В принципе Domain Model и средства ORM никак не связаны (если вашей системе не нужен data persistence, то соответсвенно нет нужды и в ORM средствах). С другой стороны, большинство систем требуют data persistence. В этом случае есть два варианта, либо использовать средства ORM(Hibernate, Top Link и др), либо другие решения типа adapters, data sets и tables (стандартный набор .Net компонентов). Последний вариант не является ни ОО, ни ORM подходом, хотя и может быть использован в Domain Model/MVC/Business Logic. автортут рецепт один - практика. пяти табличное приложение действительно быстрее накидать на recordset'ах (и .Net рулит)...Не рулит здесь то что предлагает .Net, даже для 5 таблиц. При всех подходах (от RDBMS к ОО системе или наоборот) дело не в числе таблиц (которое диктуется условиями data persistence) а в сложности классов. А обеспечить data persistence сложных классов с помощью .Net средств (adapters, data sets, etc) ооочень сложно и криво (хотя есть и плюс в использовании хранимых процедур на стороне сервера). Отсюда и мнение о том что этот подход не вяжется с ООП (в сети куча статей). В свое время у меня был свое ORM решение которое давольно таки нормально работало/работает в нескольких системах. Сейчас в сети существует аналогичный проект Amber (для ORM mapping я использовал abstract factories, так как annotations в java тогда еще не было, да и архитектура оставалась общей для обоих c# и java). Относительно вживления ORM средств в 3,4 системы интересного мало, в любом случае это всего лишь один из компонентов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 13:31 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
expp Но мастер зив не просёк, что афтаржжотом моих графоманских амбиций не удовлетворить. Прости, это был единственно возможный комментарий, пришедший в голову в столь поздний час... Не расстраивайся, может будут и другие ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 19:55 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
Denis Popov Илья, этот топик уже не в ПТ:) Да ладно, не придирайтесь, нормальное живое общение. Мне действительно пост понравился от expp. Я еще почитаю, поумнее ченибудь напишу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 19:57 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
OUDomain Model это тип архитектуры, а не design pattern (для интересующихся, design pattern с аналогичными свойствами/функциями называется Facade). Фасад? У Мартина Фаулера DomainModel это вовсе не фасад. Это модель предметной области отражённая ввиде классов, подразумевающая использование таких вещей наследование и всяких разных паттернов. Такая структура никаким боком не ложится на активную таблицу или активную запись, которые один к одному привязываются к физическим таблицам базы данных и не содержат не тривиальных связей. Для того, чтобы уложить domain model в базу требуются DataMapper'ы. ORM, н-р хибернейт, по сути и есть DataMapper + разные вкусности ввиде кешей, unit of work и т.п. Если не писать DataMapper в ручную, то использование domain model очень упрощает написание приложений со сложной логикой работы, т.к. вместо процедурного подхода во всю начинает использоваться ооп. Говорю так, потому что имел "счастье" наблюдать, как начинает при усложнении логики трещать приложение, построенное на базе транзакшин скриптов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 13:19 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
авторDomain Model это тип архитектуры, а не design pattern (для интересующихся, design pattern с аналогичными свойствами/функциями называется Facade). авторФасад? У Мартина Фаулера DomainModel это вовсе не фасад. Это модель предметной области отражённая ввиде классов, подразумевающая использование таких вещей наследование и всяких разных паттернов.а где вы в приведенной фразе видите утверждение что Domain Model это Facade? как раз наоборот, говорится что Domain Model это не design pattern, просто еще существует (независимо от Domain Model) design pattern называемый Facade который имеет аналогичные свойства/функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 14:40 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
OUпросто еще существует (независимо от Domain Model) design pattern называемый Facade который имеет аналогичные свойства/функции. В чём аналогичные, что такое скрывает от общественности domain model? Таблички в базе данных? Так этим занимает ORM, а не модель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 15:01 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
авторВ чём аналогичные, что такое скрывает от общественности domain model? Таблички в базе данных? Так этим занимает ORM, а не модель. А при чем тут таблицы и ORM компоненты? Вы почему то смотрите на Domain Model исключительно в контексте работы с ORM. Хотя это разные вещи, причем не обязательно связаные между собой (ORM средства могут использоватся как компонент Domain Model, а могут и не использоваться. Выше об этом уже говорилось). Сходство с Facade в том что Domain Model позволяет работать Application Model (иногда используется просто термин Model) с Domain Objects не напрямую а а через так называемую Administrative Object (иногда используется термин Orchestrating Object). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 15:15 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
1. domain model это точно pattern т.к. книжка называется PATTERNS of enterp. application ARCHITECTURE. если хотите ШАБЛОНЫ АРХИТЕКТУРЫ. поле этого я думаю фраза OU OUDomain Model это тип архитектуры, а не design pattern звучит несколько странно. Я думаю, может быть вы (OU) под шаблоном (перевод оспаривается) понимаете GoF. Но у них не enterp app, а у Фаулера они самые. Ну я Александера это слово имело вообще широкий смысл (томов на десять !!! серьёзно я в Грэхэме прочитал). скобочки ваши вообще обескураживают OU(для интересующихся, design pattern с аналогичными свойствами/функциями называется Facade). Remote Facade - огрублённый (coarse grained) интерфейс для клиентов для удалённого обращения к сильно детализированной (fine grained) Domain Model. Он в принципе процедурный - в самом простом случае имеет два метода - выбрать("что"):recordSet и записать(recordSet) так же добавляют методы - use case'ы. Если представление работает в том же адресном пространстве то он вообще не нужен и обращается оно к Domain Model напрямую. В чём "аналогия" между ними ???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 15:30 |
|
||
|
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
|
|||
|---|---|---|---|
|
#18+
2 expp: авторЯ думаю, может быть вы (OU) под шаблоном (перевод оспаривается) понимаете GoF. Но у них не enterp app, а у Фаулера они самые Совершенно верно. Architecture patterns относятся к дизайну/взаимодействию системы/компонентов системы, Design patterns относятся дизайну/взаимодействию классов. авторRemote Facade - огрублённый (coarse grained) интерфейс для клиентов для удалённого обращения... Вы здесь немного путаете Architecture patterns с Design patterns, а речь шла о сходстве некоторых свойств Domain Model и Facade (Design pattern). Насчет сходства смотрите топик выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 15:44 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33739091&tid=2149128]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 204ms |
| total: | 347ms |

| 0 / 0 |
