Как я узнаю, когда класс является Помощником или Службой? - PullRequest
6 голосов
/ 30 сентября 2011

Я использую архитектуру DDD в своем проекте, и мне нужно создать класс для генерации GUID для использования в другом классе.

Этот класс, который генерирует мой GUID, является службой инфраструктуры или помощником инфраструктуры?

Как я узнаю, когда класс является Помощником или Службой?

Ответы [ 2 ]

5 голосов
/ 30 сентября 2011

Сервис может обслуживать некоторых клиентов, и часто это SOA конкретный объект. Помощник предоставляет набор методов, которые обычно являются чистыми функциями .

С моей точки зрения, если класс, который обеспечивает функциональность генерации GUID, хранит или использует этот GUID для дальнейших нужд - это класс Service, в противном случае я бы сказал, что это Helper, потому что просто работает по принципу сделай и забудь / создай и забудь .

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

2 голосов
/ 30 сентября 2011

Рад, что вы нашли ответ, но вы можете переосмыслить сам вопрос.Что такое «Помощник»?Нет такого паттерна или стереотипа в DDD или где-либо еще.Взгляните на этот ответ .[Нечто] Хелпер обычно является признаком нарушения SRP или просто плохого наименования.Например, если ваш язык / фреймворк не обеспечивает генерацию Guid (что очень вряд ли ), вы можете создать свой собственный класс GuidGenerator.Имя должно отражать ответственность.

...