Организовать проектное решение с интерфейсами для репозитория - PullRequest
0 голосов
/ 04 августа 2010

VS 2010 / C #

Попытка организовать решение и поиск вариантов именования проекта, в котором будут размещаться интерфейсы для хранилища.

У меня есть: MyProject.Domain

MyProject.WebUI

MyProject.Repositories

MyProject.Interfaces ??

Пока что "Интерфейсы" - лучшее имя, которое я придумал, но яне нравится этоЕсть идеи / предложения?

1 Ответ

1 голос
/ 02 сентября 2010

Нередко можно видеть интерфейсы репозитория, размещенные в той же сборке, что и сами доменные объекты.Это то, что Джеффри Палермо обсуждает в своей серии о Луковой архитектуре .Лично я делаю то же самое.

Что касается причин этого, я считаю, что совершенно логично определить, что репозиторий делает по отношению к объектам домена.На мой взгляд, рассмотрение поведения хранилища так же тяжело, как и самого домена.Предположим, что у вас есть одна команда или разработчик, который работает над моделью домена и определяет интерфейсы репозитория после работы с экспертом по домену.Их / его / ее роль заключается в том, чтобы обеспечить передачу знаний о том, как домен связан с репозиториями, но не обязательно с самими репозиториями.

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

...