Проблема проектирования классов домена Grails - PullRequest
1 голос
/ 16 февраля 2010

Как я должен разработать свое приложение Grails?Мои бизнес-правила должны быть реализованы только внутри сервисов (с анемичными классами доменов, только с геттерами и сеттерами) или должны существовать консенсус, помещая бизнес-правила домена в классы и сервисы домена?

Ответы [ 2 ]

3 голосов
/ 16 февраля 2010

Наличие классов анемичных доменов определенно не требуется, и при этом вся бизнес-логика не используется в сервисах.

Однако сервисы предоставляют «бесплатные» декларативные транзакции. Таким образом, если вашей бизнес-логике нужна транзакционная семантика, для нее вам подойдет сервис. Другие аспекты бизнес-логики могут лучше подходить для того, чтобы быть частью самих классов предметной области.

0 голосов
/ 16 февраля 2010

Вы должны отредактировать свой пост для грамматической правильности, а также правописания. Это едва ли имеет какой-либо смысл, как сейчас.

Бизнес-логика, как правило, входит в ваши услуги. Ваши доменные объекты должны быть в значительной степени именно тем, что вы хотите сохранить в вашей базе данных. Специфичная для домена логика, которую я бы поместил в класс домена (т.е. проверка объекта).

Однако любая логика, использующая несколько классов доменов, должна принадлежать уровню обслуживания.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...