Домен Управляемый Дизайн вопрос об услугах - PullRequest
2 голосов
/ 18 июля 2010

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

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

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

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

Если значительный процесс или преобразование в домене не является естественной ответственностью объекта Entity или Value, добавьте операцию вмодель как отдельный интерфейс, объявленный как Сервис.Определите интерфейс с точки зрения языка модели и убедитесь, что имя операции является частью универсального языка.Сделайте Сервис без сохранения состояния.

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

a) Если Service не имеет состояния, это не может быть Controller.Это статический класс / Singleton?

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

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

Спасибо

1 Ответ

5 голосов
/ 19 июля 2010

Основное внимание DDD сосредоточено на понимании и ясности - подробности реализации приводятся позже.

A Доменная служба в основном представляет собой класс, содержащий бизнес-логикуне должно быть статическим или одноэлементным (вот шанс прочитать о Dependency Injection и Service Locators ).Термин без сохранения состояния также перегружен: в этом контексте это означает, что Служба не должна действовать как сущность.

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

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

...