2010-02-16 6 views
1

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

ответ

3

Имея анемичные классы домена, определенно не требуется, и не вводит всю бизнес-логику в службы.

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

+0

+1 Хороший вопрос об услугах, предоставляющих транзакционную поддержку. –

0

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

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

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

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

+0

Извините, мой ученик английский :-) – Lucas

Смежные вопросы