Я пытаюсь выполнить DDD в следующем шаблоне.DDD - бизнес-решения основаны на логике базы данных
Controller-----DataContract----> Domain Layer (DDD)
Controller-----Domain Object---> Repository---Entity--->EntityFramework
Как вы видите на рисунке выше, домен слой независима для принятия бизнес-решений, но в моем случае, большинство деловых решений принимаются на лету. Например,
if(Account Number Associated?)
Load CustomerDetails //A database call is needed
....
.....
if(Has customer another loan)
.....
.....
Load other loan details //A database call is needed
.....
.....
if(Was that repaid?)
....
....
Load collateral details //A database call is needed
.....
.....
Calculate collateral details and return.
else
Load other data //A database call is needed
else
Load other data //A database call is needed
else
Load other data //A database call is needed
Как вы видите, в приведенном выше примере, приложение делает много бизнес-решений на лету путем обращения к базе данных. Начиная с Уровень домена не должен зависеть от уровня хранилища , я не знаю, как действовать.
Я могу использовать службу Application для вызовов базы данных, но затем Layer домена не будет иметь никакой логики в нем. Вся логика войдет в прикладную службу .
Пожалуйста, помогите мне в этом.
-Pandian
Hi @VoiceOfUnreason, Спасибо за помощь. Первые два подхода в моем случае невозможны. Не могли бы вы указать мне некоторые примеры github/code для такого рода «Domain Service»? Кроме того, когда вы говорите, что «приложение обеспечивает реализацию» означает, что «** приложение-приложение ** обеспечивает реализацию» правильно? – Pandiarajan