Передача сущностей в другие слои? (ддд нуб) - PullRequest
1 голос
/ 13 апреля 2011

Я изучаю четкую архитектуру и вижу, что она фактически передает сущности на другой уровень (вплоть до уровней представления). Разве это не должно показывать интерфейсы сущностей, чтобы сделать его более свободно связанным? Или я что-то упустил?

1 Ответ

1 голос
/ 13 апреля 2011

Я считаю, что вы можете практиковать DDD разными способами, и самое важное - это посмотреть на потребности и ситуацию вашего проекта. Если вы будете практиковать DDD в веб-приложении MVP или MVC asp.net, и приложение, вероятно, не будет взаимодействовать с другими внешними системами. Тогда может оказаться излишним использование сервисного уровня и объектов DTO только для того, чтобы НЕ дать уровню представления ничего знать о домене. Наиболее важным является то, что вы скрываете / удаляете знания о создании сущностей, доменной логике и возможности переводить сущности в недопустимое состояние. Все это может быть достигнуто с хорошим API домена. Тогда я чувствую, что может быть хорошей практикой отправлять сущности на уровень представления. Вы также можете использовать репозитории для загрузки сущностей в ваших классах Controller / Presenter на уровне представления. Если вы посмотрите на множество примеров DDD, то обнаружите, что люди стремятся к тому, что им подходит лучше всего. Я никогда не видел ни одного примера и практики, где вы представляете свои сущности с помощью интерфейсов. Вы можете многого добиться, используя только внутренние, защищенные и доступные только для чтения атрибуты. Это скроет функции API для слоя представления.

/ С наилучшими пожеланиями BacceSR

...