2010-01-20 5 views
5

Auf der Domain-Driven Design website ich sehe:Bedeutung der Infrastruktur und Anwendungscode in Domain-Driven Design

den Code alle konzentrieren sich die Domain-Modell in einer Schicht und es vom Benutzer in Bezug auf isolieren Schnittstelle, Anwendung und Infrastruktur-Code. Die Domain-Objekte, frei von der Verantwortung der Anzeige selbst, Speichern selbst, Verwalten von Anwendungsaufgaben, und so weiter , kann sich auf das Domain-Modell auszudrücken. Dies ermöglicht ein Modell zu entwickeln, reich genug zu sein und klar genug, um essentielle Geschäft Wissen zu erfassen und es zur Arbeit zu bringen.

Was "geht in" der Infrastruktur-Code? Bedeutet dies unterstützende Frameworks (zum Beispiel für die Protokollierung)?

Ich nehme an, "Anwendungscode" bedeutet die Domain-Objekte (d. H. Das Domain-Modell)?

Antwort

3

Infrastruktur Code wäre Implementierungen von Repositories zum Beispiel. Sie verfügen möglicherweise über In-Memory- oder Hibernate-Repositorys, die in der Infrastrukturschicht enthalten sind, während ihre Schnittstellen in der Domänenebene enthalten sind.

Anwendung Code steuert die Domänenobjekte. Es definiert Dienste, die Benutzerbefehle aufnehmen und Geschäftslogik für Domänenobjekte aufrufen, aber keine Geschäftslogik in dieser Ebene.

+0

Also leben Repositories (im Sinne von Design Pattern, nicht wie ich es verstehe, im Sinne von Repositorys in Ihrer Antwort) typischerweise im Domänenmodell oder in einer separaten Datenzugriffskomponente? – Ben

+0

... und würden Dinge wie IOC-Container, Logging- und Metriksammlungs-Subsysteme normalerweise als in der Infrastruktur-Code-Ebene "residieren" beschrieben? – Ben