Sto creando una soluzione RESTful per l'API Web C # .NET 4.5 e vorrei che qualcuno mi dicesse se la mia soluzione di progetto è corretta e / o saggia (-basta?) Per una soluzione progettata usando 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. Non contiene quasi alcuna logica oltre a raccogliere valori dagli oggetti richiesta e chiedere lavoro al livello BizApi.
- /Biz.Api
(Riferito alla base])
Fornisce i servizi di dominio e consente al progetto dell'interfaccia / Base di accedere agli oggetti della logica aziendale di dominio nel progetto /Biz.Domain.
- /Biz.Domain
(Riferito a Biz.Api)
Fornisce le classi di dominio per il livello Biz.Api. Questi forniscono metodi per manipolare i dati dell'azienda in memoria.
- /Dal.Db
(Riferito a Biz.Api)
Il livello del repository del database. Accede ai database e mappa i dati restituiti nei DTO interni definiti nel livello / Interfaces.
- /Dal.Services
(Riferito a Biz.Api)
Fornisce un livello proxy a dipendenze esterne come i servizi Web e mappa i dati restituiti ai DTO interni definiti nel progetto / Interfaces.
- Interfacce /
(Riferito dalla maggior parte dei progetti sopra)
Contiene le classi DTO per il passaggio dei dati intorno alla soluzione e le interfacce C # per definire contratti per cose come l'IoC.