Il tipico punto di ingresso per questo in DDD è un Servizio applicazioni . I servizi applicativi orchestrano le chiamate a repository e oggetti di dominio. Inoltre, conoscono lo stato di esecuzione corrente e spesso controllano la transazione aziendale generale attraverso un'unità di lavoro impegnata al termine del metodo di servizio.
Ad esempio:
Create new domain object
Add it to Repository
Commit UoW
or
Get domain object from Repository
Modify it
Commit UoW
etc.
Il servizio dell'applicazione può essere chiamato da un controller. In alcune implementazioni è il controller, quando le persone non vogliono disturbare un ulteriore livello di astrazione. Ma ciò può portare ad un Fat Controller.
my basic CRUD operations (located in my repository layer)
Mentre C, R e D fanno parte di un'interfaccia del repository, U non è necessario se si dispone di un'unità di lavoro. L'aggiornamento di tutte le entità di dominio modificate nella UoW verrà eseguito automaticamente su UoW.Save()
.