Sto costruendo una soluzione RESTful per l'API Web .NET 4.5 C # e vorrei che qualcuno mi dicesse se la mia soluzione di progetto è corretta e / o saggia (-enough?) per una soluzione progettata utilizzando Domain Driven Design, per favore.
La soluzione è stata suddivisa in 6 progetti:
- / Base
(Non referenziato da nulla)
Il progetto web e costituisce l'interfaccia tra la soluzione e il mondo esterno. Contiene i controller API Web. Contiene quasi nessuna logica oltre la raccolta di valori dagli oggetti richiesta e chiedendo il livello BizApi per il lavoro.
- /Biz.Api
(Riferito da Base))
Fornisce i servizi di dominio e consente al progetto dell'interfaccia / Base di accedere agli oggetti logici di business del dominio nel progetto /Biz.Domain.
- /Biz.Domain
(Riferimento a Biz.Api)
Fornisce le classi di dominio per il livello Biz.Api. Questi forniscono metodi per manipolare i dati del business in memoria.
- /Dal.Db
(Riferimento a Biz.Api)
Il livello del repository del database. Accede ai database e mappa i dati restituiti in DTO interni definiti nel livello / Interfacce.
- /Dal.Services
(Riferimento a Biz.Api)
Fornisce un livello proxy a dipendenze esterne come i servizi Web e associa i dati restituiti a DTO interni definiti nel progetto / Interfaces.
- / Interfacce
(Riferito dalla maggior parte dei progetti sopra)
Contiene le classi DTO per il trasferimento dei dati attorno alla soluzione e le interfacce C # per definire contratti per cose come IoC.