2010-07-18 4 views
2

Я читаю дизайн, управляемый доменом Быстро и у меня проблемы с пониманием чего-то.Домен Driven Design вопрос об услугах

Когда автор говорит о Entities, Value Objects и Services, как он говорил о Domain Model (я имею в виду, понятия), или уже о реализации?

Что такое Service? A Controller? Статический класс?

На р38 можно прочитать:

Когда важный процесс или преобразования в домене не естественно ОТВЕТСТВЕННОСТИ из значения объекта Entity или , добавьте операцию к модели как автономные интерфейс , объявленный как услуга. Определите интерфейс с точки зрения языка модели и убедитесь, что операция имя является частью Ubiquitous Язык. Сделать службу безстоящей.

Из этого текста, я могу сделать вывод:

а) Если Service является лицом без гражданства, он не может быть Controller. Это статический класс/Singleton?

b) Что он имеет в виду под номером Interface? Я знаю, что такое интерфейс при кодировании, но если он говорит о интерфейсах, он должен говорить уже о диаграммах классов и тому подобное, а не о Domain Model?

Я смущаюсь, может ли кто-нибудь прояснить это?

Благодаря

+0

Вот глоссарий терминов http://domaindrivendesign.org/resources/ddd_terms –

ответ

5

основной фокус DDD составляет около понимания и ясности - детали реализации приходят потом.

службы домена в основном это класс, который содержит бизнес-логику .. Он не должен быть статическим или Singleton (здесь есть шанс прочитать на Dependency Injection и службы локаторы). Термин stateless также перегружен: в этом контексте это означает, что Служба не должна действовать как объект .

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

К сожалению, термин Услуга также перегружена. См. Мой ответ here для описания.

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