Должны ли дочерние классы сущностей иметь свои собственные репозитории? - PullRequest
3 голосов
/ 27 июня 2011

У меня есть несколько классов, унаследованных от класса Admin: Manager, Translator и т. Д.

Admin является агрегатом, поэтому должен иметь свой собственный Репозиторий . Однако некоторые методы поиска менеджеров или переводчиков могут быть специфическими для этих классов. Другие могут быть общими для всех администраторов.

Какая лучшая практика здесь? Должен ли я:

  • поместить все методы для поиска администраторов в одном репозитории?
  • или имитировать иерархию классов модели предметной области с иерархией репозиториев, тогда имеющие ManagerRepository и TranslatorRepository, расширяющие AdminRepository?

Ответы [ 2 ]

3 голосов
/ 27 июня 2011

Как я вижу - это не так важно.

Я бы придерживался одного AdminRepository, если только он не раздувается и не просит разложения.

0 голосов
/ 29 июня 2011

Строго говоря, только агрегированные корни требуют своих собственных репозиториев.

Если вам нужно управлять конкретной сущностью без доступа к другому агрегированному корню, тогда эту сущность можно считать (но не обязательно) самим агрегированным корнем..

Итак, я бы сказал: выберите точку зрения вашего бизнеса / домена, а затем сделайте свои технические выводы.

...