powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / [из Java] Кому и зачем нужна Domain Model вместе с Hibernate
47 сообщений из 47, показаны все 2 страниц
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33725181
Если все можно сделать просто с помощью .NET и Table Model?

Читаю тут Patterns of Enterprise Application Architecture Фаулера и он прямо пишет, что в .NET реализованы прекрасные средства поддержки Record Setов и Table Model и логику любой сложности можно сделать использую только их. Тогда зачем морока с Hibernate и прочими O/R Mappings?
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33725193
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чувак у тебя что с головой
Здесь обсуждается Java, а не .Net
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33725227
OU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OU
Гость
Вы видимо не особо понимаете что такое Domain Model и в чем смысл данного типа архитектуры. Кстати между Domain Model и средствами ORM связи нет абсолютно никакой, если не хотите использовать Domain Model используйте архитектуру типа клиент сервер (при этом не забываем 7 отмерить прежде чем 1 раз испортить :)).
Про средства ORM вам тоже нужно почитать побольше чтобы знать как минимум их типы и что они из себя представляют.
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33725277
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partisan Mчувак у тебя что с головой
Здесь обсуждается Java, а не .Net
тут по моему тусят те у кого с головой мысли и мозги, а не зацикленные на каком то одном пупе партизаны. Вопрос Iнtepeсующегося ахиренно в тему.

OUВы видимо не особо понимаете что такое Domain Model и в чем смысл данного типа архитектуры. Кстати между Domain Model и средствами ORM связи нет абсолютно никакой, если не хотите использовать Domain Model используйте архитектуру типа клиент сервер (при этом не забываем 7 отмерить прежде чем 1 раз испортить :)).
Про средства ORM вам тоже нужно почитать побольше чтобы знать как минимум их типы и что они из себя представляют.

Domain model - способ организации слоя бизнес логики, т.е. понятие дважды "логическое", во-первых потому, что это pattern, во-вторых потому, что слой понятие тоже логическое (в отличие от слова tier).

а вот архитектура это "клиент сервер", "трёхзвнная" т.е. это понятие физическое. (пробежал Фаулера всё немножко сложнее но и так сойдёт)

ORM это если хотите библиотека отображающая друг на друга структуры.
.NET это понятие маркетиноговое.

просто все они тесно связаны guideline'ами и поэтому переплетаются в мозгах. А раскидать их все по полкам это действительно вопрос.
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33725289
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, которые затем и взаимодействуют. Скачайте книгу и прочтите сами.
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33725299
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
рассмотрим несколько фактов (в подтверждение пред)

1.на русском форуме hibernate.org самый частый (ИМХО) случай ORM - это клиент-сервер (толстый клиент), кто не понял - на хибере.

2.отсоединённые набор есть на яве и зовётся он RowSet.

3.Visual Studio просто так сделана, что запускаешь её и так и тянет налобать клиент-сервер. Но там можно трёхзвенку делать: DCOM-фасад выбирает и постит RecordSet'ы, просто тогда всё сложнее и нужно больше думать, а с такой красиво средой делать это некогда. (и написано про это хринова)
Подобным свойством обладает JBuilder, то же самое - "клиент-сервер" тока отлетает.
4. Hiber портирован на .Net "о ужац!!!" NHibernate называется.
5. Хибер к сожалению слабоват для трёхзвенки с толстым клиентом - необходима штука типа EMF-SDO чтобы сериализованные объекты были больше похожи на RecordSet'ы. т.е. в этом случае хибер нивывозит.
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33725340
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про преимущество domain Model написано в вашей же любимой книжке. Бизнес-логика в таких классах кодируется гораздо "лучче". Не надо думать о данных, ключах и пр.. Экземпляры представляют собой модели предм. области человечег, заказ, поставка ... имеют друг с другом прямые ассоциации без всяких гвоздей (очень удобно если представление работает в том же адр.пространстве) к вашим услугам настоящее наследование, делегирование и т.д.

т.е если мы говорим о трёхзвенной архитектуре (а про клиент-сервер я говорить отказываюсь) то есть два варианта: .Net RecordSet и Java HiberDomain Model.
Фасад в обоих случаях аналогичен (или не нужен в Web'е)

тут рецепт один - практика. пяти табличное приложение действительно быстрее накидать на recordset'ах (и .Net рулит), а вот когда классов модели предм. области будет за пол сотни (это "не ахиреть сколько", а "жестокий бизнес") ... начнётся жуткая скука.
снова повторюсь, оба способа организации бизнес логики доступны на обоих платформах - шер ше ля tools.
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33727638
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, ну каменты будут. я для кого это пешу? себе, что ли?
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33728394
Jozic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exppнет, ну каменты будут. я для кого это пешу? себе, что ли?Судя по этому посту ^, для себя :) без обид
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33728431
exppнет, ну каменты будут. я для кого это пешу? себе, что ли?Походу тут только мы с тобой во что-то вникаем, остальным по барабану, читают методички

Вот, тут подхватили правда перенесли в философию

Модератор: мат удален
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33728670
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JozicСудя по этому посту ^, для себя :) без обид
м...да... ну фиг я когда ещё раз на кнопки своими немащными мазгами надавлю.
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33734187
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exppнет, ну каменты будут. я для кого это пешу? себе, что ли?

Ну держи.
Аффтар жжет ! Но многа букаф и нипанятных слоф. Асобинна панравилась про вижуал Студию. Пиши ище !
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33734216
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасиба мастер зив за каммент. спасибо, Грасов за реабилитацию топега.
Но мастер зив не просёк, что афтаржжотом моих графоманских амбиций не удовлетворить.

Мне бы хотелось услышать обоснованныю критику моего мнения, на формирование которого мне понадобилось довольно много времени и сил. Если кроме афтаржжотов ничего не увижу - больше топег поднимать не буду (это модераторам).
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33734631
Фотография А.Грасоff™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exppспасибо, Грасов за реабилитацию топега.
это не мне.
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33734632
Фотография А.Грасоff™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivАффтар жжет ! Но многа букаф и нипанятных слоф. Асобинна панравилась про вижуал Студию. Пиши ище !здорафске.

што, денис попов, доволен каментами?
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33735433
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А.Грасоff™здорафске.

што, денис попов, доволен каментами?

MasterZivАффтар жжет ! Но многа букаф и нипанятных слоф. Асобинна панравилась про вижуал Студию. Пиши ище !
Илья, этот топик уже не в ПТ:)
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33735463
OU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OU
Гость
автор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 системы интересного мало, в любом случае это всего лишь один из компонентов.
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33736903
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
expp
Но мастер зив не просёк, что афтаржжотом моих графоманских амбиций не удовлетворить.


Прости, это был единственно возможный комментарий, пришедший в голову в столь поздний час... Не расстраивайся, может будут и другие !
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33736910
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov
Илья, этот топик уже не в ПТ:)

Да ладно, не придирайтесь, нормальное живое общение.

Мне действительно пост понравился от expp. Я еще почитаю, поумнее ченибудь напишу.
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33738429
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OUDomain Model это тип архитектуры, а не design pattern (для интересующихся, design pattern с аналогичными свойствами/функциями называется Facade).
Фасад? У Мартина Фаулера DomainModel это вовсе не фасад. Это модель предметной области отражённая ввиде классов, подразумевающая использование таких вещей наследование и всяких разных паттернов.

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

Для того, чтобы уложить domain model в базу требуются DataMapper'ы.
ORM, н-р хибернейт, по сути и есть DataMapper + разные вкусности ввиде кешей, unit of work и т.п.

Если не писать DataMapper в ручную, то использование domain model очень упрощает написание приложений со сложной логикой работы, т.к. вместо процедурного подхода во всю начинает использоваться ооп.
Говорю так, потому что имел "счастье" наблюдать, как начинает при усложнении логики трещать приложение, построенное на базе транзакшин скриптов.
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33738834
OU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OU
Гость
авторDomain Model это тип архитектуры, а не design pattern (для интересующихся, design pattern с аналогичными свойствами/функциями называется Facade).
авторФасад? У Мартина Фаулера DomainModel это вовсе не фасад. Это модель предметной области отражённая ввиде классов, подразумевающая использование таких вещей наследование и всяких разных паттернов.а где вы в приведенной фразе видите утверждение что Domain Model это Facade? как раз наоборот, говорится что Domain Model это не design pattern, просто еще существует (независимо от Domain Model) design pattern называемый Facade который имеет аналогичные свойства/функции.
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33738927
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OUпросто еще существует (независимо от Domain Model) design pattern называемый Facade который имеет аналогичные свойства/функции.

В чём аналогичные, что такое скрывает от общественности domain model?
Таблички в базе данных? Так этим занимает ORM, а не модель.
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33738986
OU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OU
Гость
авторВ чём аналогичные, что такое скрывает от общественности domain model?
Таблички в базе данных? Так этим занимает ORM, а не модель.
А при чем тут таблицы и ORM компоненты? Вы почему то смотрите на Domain Model исключительно в контексте работы с ORM. Хотя это разные вещи, причем не обязательно связаные между собой (ORM средства могут использоватся как компонент Domain Model, а могут и не использоваться. Выше об этом уже говорилось).
Сходство с Facade в том что Domain Model позволяет работать Application Model (иногда используется просто термин Model) с Domain Objects не напрямую а а через так называемую Administrative Object (иногда используется термин Orchestrating Object).
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33739037
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 напрямую. В чём "аналогия" между ними ????
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33739091
OU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OU
Гость
2 expp:
авторЯ думаю, может быть вы (OU) под шаблоном (перевод оспаривается) понимаете GoF. Но у них не enterp app, а у Фаулера они самые
Совершенно верно. Architecture patterns относятся к дизайну/взаимодействию системы/компонентов системы, Design patterns относятся дизайну/взаимодействию классов.
авторRemote Facade - огрублённый (coarse grained) интерфейс для клиентов для удалённого обращения...
Вы здесь немного путаете Architecture patterns с Design patterns, а речь шла о сходстве некоторых свойств Domain Model и Facade (Design pattern). Насчет сходства смотрите топик выше.
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33739130
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OUА при чем тут таблицы и ORM компоненты? Вы почему то смотрите на Domain Model исключительно в контексте работы с ORM. Хотя это разные вещи, причем не обязательно связаные между собой (ORM средства могут использоватся как компонент Domain Model, а могут и не использоваться. Выше об этом уже говорилось).

Коль скоро тема развернулась вокруг книги Фаулера "архитектура корпоративных приложений", то и смотрю я исключительно в её контексе.
Вы даёте совершенно иную трактовку терминам.

Domain Model, Transaction script - это способы представления бизнес логики.
DataMapper (ORM) ,Active Record, etc - способы взаимодействия с источниками данных.

Т.о. Domain Model не является ни чьим фасадом. C большой натяжкой фасадом можно обозвать DataMapper.

OU
Сходство с Facade в том что Domain Model позволяет работать Application Model (иногда используется просто термин Model) с Domain Objects не напрямую а а через так называемую Administrative Object (иногда используется термин Orchestrating Object).
Вы путаете термины.
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33739155
OU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OU
Гость
2 NotGonnaGetUs:
авторВы даёте совершенно иную трактовку терминам.
уважаемый, читайте плиз топики внимательней. В каком месте я давал терминам иную трактовку?
авторDomain Model, Transaction script - это способы представления бизнес логики.
DataMapper (ORM) ,Active Record, etc - способы взаимодействия с источниками данных.
А где вы видели что я трактовал это иначе?
авторВы путаете термины.
Я ничего не путаю, вы просто недостаточно хорошо знает что такое Domain Model, либо не совсем понимаете то что читаете.
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33739184
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OUВ каком месте я давал терминам иную трактовку?

Хотя бы тут:

"Сходство с Facade в том что Domain Model позволяет работать Application Model (иногда используется просто термин Model) с Domain Objects не напрямую а а через так называемую Administrative Object (иногда используется термин Orchestrating Object)."


OUЯ ничего не путаю, вы просто недостаточно хорошо знает что такое Domain Model, либо не совсем понимаете то что читаете.

Откройте книжку, прочитайте что пишет Фаулер. Я не сомневаюсь, что термин Domain Model используется ещё в 256 значениях у других авторов.
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33739225
OU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OU
Гость
авторХотя бы тут:
"Сходство с Facade в том что Domain Model позволяет работать Application Model (иногда используется просто термин Model) с Domain Objects не напрямую а а через так называемую Administrative Object (иногда используется термин Orchestrating Object)."Ну и какие тут термины я трактовал иначе? Или хотите сказать DM работает по другому? Или Facade работает по другому?
авторОткройте книжку, прочитайте что пишет Фаулер. Я не сомневаюсь, что термин Domain Model используется ещё в 256 значениях у других авторов.
Вы из пальца домыслы не высасывайте, а разберитесь что всетаки есть DM. Потому как не может быть ни 256 ни даже 2 разных DM(ответвления/дополнения в виде MVC, Model 2 и др не в счет конечно). Тот же Фаулер, исходя из приведенных отрывках, говорит о том же самом. Проблема в том что вы это не понимаете.
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33739336
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OUТот же Фаулер, исходя из приведенных отрывках, говорит о том же самом. Проблема в том что вы это не понимаете.

Бог мой. Вы судите о том, что я понимаю и что не понию по кем-то цитируемым отрывкам из Фаулера? Это, право, не серьёзно.


"Типовое решение domain model предусматривает создание сети взаимодействующих обхектов, каждый из которых представляет некую осмысленную сущность - либо такую крупную, как промышленная корпорация, либо настолько мелкую, как строка формы заказа."

И здесь и на последующих страницах не идёт никакой речи о том, чтобы domain model выступала в качестве facade для каких-то объектов.

http://ooad.asf.ru/patterns/patterninfo.asp?ID=21
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33739458
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
моё мнение такое: OU не прав разделяя Architecture patterns и Design patterns, и скрещивая Facade и Domain Model. Не прав на столько, что доказывать обратное по-моему просто бесполезно. Вы хотя бы с определений из одного контекста начните, напишите "Architecture patterns" это ... "Design patterns" это ... и т.д. Вот найдите и процитируйте и укажите источник. А то вы помоему свои какие то сентенции излагаете...
В догонку: ORM это Data Mapper без которого Domain MOdel тяжка и беспросветна. А DM бывает без ORM только тогда когда весь граф данных (вся модель) за один раз сериализуется в файл. ацтойный вариант.

ну и меня подобные терминологические споры вообще не интересуют. я так понял тема про RecordSet vs Hibernate раскрыта???
Вопрос такой:
По-моему Hibernate варианту не хватает лучшей поддержки UnitOfWork. Т.е. в варианте Web с Фасадом всё рулит - Фасад открывает сессию, изменяет объекты, в конце транзакции пишет. Но вот в случае с толстым клиентом и нужно позволить клиенту изменить/удалить/вставить выкачанные объекты. а потом отослать именно все изменения фасаду. Я сейчас отсылаю всё (все выбранные объекты включ. изменные и новые) и дополнительно отсылаю мн-во удалённых. Соответственно вливается (merge) в сессию то что вливать не надо. Ну и как то не интересно.
Это проблема? или её нет? кто как делает что то подобное? кто нибудь скрещивал Hibernate + EMF-SDO? А отдельно EMF-SDO использовал?
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33739529
OU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OU
Гость
авторБог мой. Вы судите о том, что я понимаю и что не понию по кем-то цитируемым отрывкам из Фаулера? Это, право, не серьёзно.
Я и не сужу о ваших знаниях по чьим то высказываниям. Имелись ввиду высказывания о том что имел ввиду Фаулер говоря о DM. О вашем незнании DM я сужу по другим факторам.
Ладно, будем конструктивнее.
Начнем с того что такое DM(я сорри заранее если, где то будет не совсем понятно. у меня в голове термины на инглиш, которые я буду все равно указывать для аутентичности:)).
DM это тип архитектуры которая предусматривает описание бизнес проблемы (problem domain) и позволяет отделить решение бизнес проблемы от пользовательского интерфейса (UI).
К примеру бизнес проблема заключается в моделировании работы госпиталя. В этом случае DM будет содержать классы абстракционирующие пациентов, палаты, докторов, лекарства и другие статические своийства включая ассоциации(structural model).
Естественно будут и динамические своийства, т.е протоколы классов и из взаимодействие (dynamic model). Все это называется domain objects и соответственно находится внутри DM. Это в принципе тоже о чем и говорит Фаулер и то же что упоминаете вы:
автор"Типовое решение domain model предусматривает создание сети взаимодействующих обхектов, каждый из которых представляет некую осмысленную сущность - либо такую крупную, как промышленная корпорация, либо настолько мелкую, как строка формы заказа."
Второй аскпект DM, как уже было написано выще заклучается в отделении бизнес модели (называйте это бизнес логикой если хотите) от UI. Причина в переносимости (portability), поддержке (maintenance) и тд. Все это формирует золотое правило планирования систем (system architecture) что DM и UI всегда должны быть отделены друг от друга.
Этот аспект поднимает вопрос о том что между DM и UI должен быть некий слой который будет адаптировать DM к разным (а может быть и нескольким паралельно используемым) UI. Этот слой называется application model(упоминался в предидущих топиках) и является мостом между DM (business tier) и UI (presentation tier).
Теперь самое (или почти самое) интересное. Мы знаем что в нашей DM существует множествое обьектов связанных ассоциациаями. Но мы также знаем что обьекты взаимодействуют друг с другом и мы также знаем что несмотря на взаимодействия обьекты не должны быть связаны между собой (имеется в виду loose coupling). Плюс к этому, мы должны принять во внимание и тот факт что application model тоже должна взаимодействовать с обьектами внутри DM (domain objects). Эти проблемы решаются путем создания administrative object (orchestrating object) внутри DM. Другими словами, обьекты внутри DM будут общаться друг с другом не напрямую а через admin object. Аналогично application model будет работать с DM через admin object. Здесь на самом деле отлично видны как минимум два design pattern - mediator и facade. Причем оба они имплементируются всего лишь одним обьектом - admin object. Красиво, а?
Теперь об ORM (я не стал все смешивать в кучу сначала для ясности). Есть несколько вариантов подклучения ORM компонентов к подобной системе. Имхо самый красивый это включение ORM компонента внутрь admin object (по ходу design pattern используемая в данном случае - Composite). Описание взаимодействия admin object с ORM компонентом опускаю, это отдельная тема, очень интересная кстати.
Ну и что здесь (имеется в виду описание DM) не совпадает с Фаулером?
Если вам это интересно и хотите узнать больше (но не можете найти в сети), то могу найти и отправить вам выдержки из университетских пособий (все на инглиш) где все разжевано по буквам.
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33739568
OU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OU
Гость
2 expp:
автормоё мнение такое: OU не прав разделяя Architecture patterns и Design patterns, и скрещивая Facade и Domain Model. Не прав на столько, что доказывать обратное по-моему просто бесполезно. Вы хотя бы с определений из одного контекста начните, напишите "Architecture patterns" это ... "Design patterns" это ... и т.д. Вот найдите и процитируйте и укажите источник. А то вы помоему свои какие то сентенции излагаете...
Да писал уже, что еще один раз написать, или вы вернетесь и прочтете внимательно?
такие вещи в универах учат, типа дважды два и если вы думаете что architectural patterns и design patterns это одно и тоже то дело ваще конечно...
автори скрещивая Facade и Domain ModelА кто их скрещивает? Facade (как вариант) используется для имплементации DM, куда еще проще то?
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33739577
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OU

Плачу.

Скажите мне, друг сердечный, с чего ради domain model стала выполнять роль фасада?

Она может скрываться за фасадом, но никак не являтся им.
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33739583
OU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OU
Гость
еще раз, где написано что DM выполняет роль Facade?
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33739586
OU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OU
Гость
авторОна может скрываться за фасадом, но никак не являтся имтак вам же и говорят, что взаимодействие с (и внутри) DM происходит через admin object. Вот где facade!
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33739611
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OU авторОна может скрываться за фасадом, но никак не являтся имтак вам же и говорят, что взаимодействие с (и внутри) DM происходит через admin object. Вот где facade!

Нам говорят " (для интересующихся, design pattern с аналогичными свойствами/функциями называется Facade)."(с)ou.

Domain Model НЕ является аналогичным по свойствам Facade.

Аналогичным по свойствам является Application model.

Наличие DM не 100% приводит к появлению всех тех надстроек, о которых вы говорите, по этой причине их нельзя рассматривать как её неотъмлемую часть.
MCV не являются способом описать бизнес логику.

Повторю то, о чём говорил с самого начала: термин DM в ваших пособиях и у Фаулера трактуется несколько по разному.
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33739629
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OU
Хотелось бы уточнить:

Composite описывает решение представления иерархий часть-целое в ОО-языках. Вы имели в виду что нужно указанный admin object и ORM-средство моделировать при помощи древовидной иерахии? А вам не кажется что это вещи разного порядка, ну т.е. это как сказать "будем называть систему ручкадвери - автомобиль древовидной иерархией"?

Что же касаеться спора о том является ли домен патерном или видом системной архитектуры... imho это демагогия - всегда можно сказать, что система в которой есть слой из доменов основана на соответсвующей архитектуре, а сами домены реализованы с помощью соответсвующих подходов и правил (ака патернов).

И еще, у вас судя по всему представление о доменам больше всего соответсвующее реализации идеи в j2ee и entity beans (вы говорили еще про smalltalk, но я с ним не знаком). Так вот идея вообще-то претерпела длительно развитие и сейчас уже может отличаться от той что была когда-то применена в smalltalk (я это утверждать не могу но сложилось именно такое впечатление).
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33739640
OU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OU
Гость
2 notgonnagetus:
сорри за то что не пояснил сходство дословно с вашим предложением. По ходу всего топика было ясно что к чему, тем более тому кто знает что такое DM. Относительно application model, то если вы хотите сравнить ее по аналогии с design patterns то это будет adapter или decorator но никак не facade. Опять же никто и не говорил что MVC описывает бизнес логику. Имелась ввиду архитектура MVC vs архитектура использующая DM (+ application model, ui).
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33739655
OU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OU
Гость
2 funikovuri:
авторВы имели в виду что нужно указанный admin object и ORM-средство моделировать при помощи древовидной иерахии?Не обязательно сложные структуры. Возьмите как примитивный вариант instance variable (типа construction by composition)
авторИ еще, у вас судя по всему представление о доменам больше всего соответсвующее реализации идеи в j2ee и entity beans (вы говорили еще про smalltalk, но я с ним не знаком). Так вот идея вообще-то претерпела длительно развитие и сейчас уже может отличаться от той что была когда-то применена в smalltalk (я это утверждать не могу но сложилось именно такое впечатление).
в чем идея принципиально изменилась? что бизнес логика исчезла? ORM средства поменялись конечно в связи с persistence beans которые можно использовать вместо hibernate (ЕЕ 5). Плюс куча других вещей, но не фундаментальных.
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33739679
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OU2 funikovuri:
авторВы имели в виду что нужно указанный admin object и ORM-средство моделировать при помощи древовидной иерахии?Не обязательно сложные структуры. Возьмите как примитивный вариант instance variable (типа construction by composition)

я всегда думал что instance variable это просто instance variable. А вот одним из требований Composite является наличие общего суперкласса у части и целого... можете привести ссылку на описание Composite в котором будет сказано что instance variable является его частным случаем?


автор
авторИ еще, у вас судя по всему представление о доменам больше всего соответсвующее реализации идеи в j2ee и entity beans (вы говорили еще про smalltalk, но я с ним не знаком). Так вот идея вообще-то претерпела длительно развитие и сейчас уже может отличаться от той что была когда-то применена в smalltalk (я это утверждать не могу но сложилось именно такое впечатление).
в чем идея принципиально изменилась? что бизнес логика исчезла? ORM средства поменялись конечно в связи с persistence beans которые можно использовать вместо hibernate (ЕЕ 5). Плюс куча других вещей, но не фундаментальных.
Идея на самом деле действительно сильно изменилась и основной крен тут в сторону дальнейшей специализации доменов как легкой сущности, описывающей структуру и "собственную бизнес логику" (по сути некоторые ограничения целостности) тогда как именно бизнес логика переноситься в отдельные классы инкапсулирующие reusable unit-of-work components
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33739688
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OU2 notgonnagetus:
сорри за то что не пояснил сходство дословно с вашим предложением. По ходу всего топика было ясно что к чему, тем более тому кто знает что такое DM.

Я знаю, что такое DM. Я вижу, что ваше DМ это DМ фаулера + application model + admin obejcts + ...
Мне было абсолютно не очевидно, почему DM это Facade.

OU
Относительно application model, то если вы хотите сравнить ее по аналогии с design patterns то это будет adapter или decorator но никак не facade.

В таком случае я не знаю, какой смысл вы вкладываете в application model и зачем вообще упоминалось слово "фасад".
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33739730
OU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OU
Гость
2 funikovuri:
авторя всегда думал что instance variable это просто instance variable.
сорри (уже запарился писать на самом деле:)). имелся ввиду примитивный вариант construction by composition, т.е включение ORM компонента внутрь admin object как instance variable.
авторИдея на самом деле действительно сильно изменилась и основной крен тут в сторону дальнейшей специализации доменов как легкой сущности, описывающей структуру и "собственную бизнес логику" (по сути некоторые ограничения целостности) тогда как именно бизнес логика переноситься в отдельные классы инкапсулирующие reusable unit-of-work components
ничего нового в этом подходе нет на самом деле, если я вас правильно понял. Вас ведь не заставляли/заставляют использовать только один подход (3-tier к примеру).
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33743600
Alex Catt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а воз и ныне там.
с интересом жду продолжения дискуссии
---------------------------------------
как и год назад я бью словом наповал(к)
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33745095
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex Cattа воз и ныне там.
с интересом жду продолжения дискуссии


Если интересно, то можно реанимировать топик /topic/85698
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33750904
Alex Catt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
funikovyuri Alex Cattа воз и ныне там.
с интересом жду продолжения дискуссии


Если интересно, то можно реанимировать топик /topic/85698

мне - интересно - но я -- обсуждать пока не могу - я не рублю в этом и в процессе изучения -- так что многого со мной не пообсуждаешь
...
Рейтинг: 0 / 0
[из Java] Кому и зачем нужна Domain Model вместе с Hibernate
    #33752687
funikovyuri Alex Cattа воз и ныне там.
с интересом жду продолжения дискуссии


Если интересно, то можно реанимировать топик /topic/85698Есть обсуждение на другом форуме http://gzip.rsdn.ru/Forum/Message.aspx?mid=1897037&pg=2
...
Рейтинг: 0 / 0
47 сообщений из 47, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / [из Java] Кому и зачем нужна Domain Model вместе с Hibernate
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]