Ich erstelle eine .NET 4.5 C # Web-API-REST-Lösung und möchte, dass jemand mir mitteilt, ob meine Projektlösung für eine mit Domain Driven Design entworfene Lösung korrekt und / oder sinnvoll (-genügend?) Ist.
Die Lösung wurde in 6 Projekte aufgeteilt:
- /Base
(Von nichts referenziert)
Das Webprojekt und bildet die Schnittstelle zwischen der Lösung und der Außenwelt. Enthält die Web-API-Controller. Enthält fast keine Logik, außer Werte von Anforderungsobjekten zu erfassen und die BizApi-Ebene um Arbeit zu bitten.
- /Biz.Api
(Referenziert von Base)
Stellt die Domänendienste bereit und ermöglicht dem Schnittstellenprojekt / Base den Zugriff auf die Geschäftslogikobjekte der Domäne im Projekt /Biz.Domain.
- /Biz.Domain
(Referenziert von Biz.Api)
Stellt die Domänenklassen für die Biz.Api-Ebene bereit. Diese bieten Methoden zum Bearbeiten der Geschäftsdaten im Arbeitsspeicher.
- /Dal.Db
(Referenziert von Biz.Api)
Die Datenbank-Repository-Schicht. Greift auf die Datenbanken zu und ordnet die zurückgegebenen Daten internen DTOs zu, die in der Ebene / Interfaces definiert sind.
- /Dal.Services
(Referenziert von Biz.Api)
Stellt eine Proxy-Ebene für externe Abhängigkeiten wie Webdienste bereit und ordnet die zurückgegebenen Daten internen DTOs zu, die im Projekt / Interfaces definiert sind.
- / Schnittstellen
(Von den meisten oben genannten Projekten referenziert)
Enthält die DTO-Klassen zum Weitergeben von Daten in der Lösung und die C # -Schnittstellen zum Definieren von Verträgen für Dinge wie IoC.