Значение на инфраструктура и код на приложение в дизайн, управляван от домейн

На уебсайта на управлявания от домейни дизайн виждам:

Концентрирайте целия код, свързан с модела на домейна, в един слой и го изолирайте от потребителския интерфейс, приложението и инфраструктурния код. Домейн обектите, освободени от отговорността да се показват, да се съхраняват, да управляват задачи на приложението и т.н., могат да бъдат фокусирани върху изразяване на домейн модела. Това позволява моделът да се развие, за да бъде достатъчно богат и достатъчно ясен, за да улови основни бизнес знания и да ги приложи в действие.

Какво "влиза" в инфраструктурния код? Това означава ли поддържащи рамки (за регистриране, например)?

Предполагам, че „код на приложение“ означава обектите на домейна (т.е. модела на домейна)?


person Ben Aston    schedule 20.01.2010    source източник


Отговори (1)


Кодът за инфраструктура би бил внедряване на хранилища например. Може да имате хранилища в паметта или Hibernate, които живеят в инфраструктурния слой, докато техните интерфейси живеят в домейн слоя.

Кодът на приложението контролира обектите на домейна. Той дефинира услуги, които приемат потребителски команди и извикват бизнес логика на обекти на домейн, но в този слой не съществува бизнес логика.

person Christophe Herreman    schedule 20.01.2010
comment
Така че хранилищата (в смисъла на модела на проектиране, а не, както разбирам, в смисъла на хранилища във вашия отговор) обикновено живеят в модела на домейна или в отделен компонент за достъп до данни? - person Ben Aston; 21.01.2010
comment
...и неща като IOC контейнери, подсистеми за регистриране и събиране на показатели обикновено се описват като пребиваващи в слоя на инфраструктурния код? - person Ben Aston; 21.01.2010