Nur einige persönliche Erfahrung, ich benutze diese in Eric erwähnt Architektur ist auch DDD Buch: 
Kurz:
1) Schnittstellen ist Komponenten bestehen, die mit Benutzer verantwortlich sind (einen echten Endpunkt für die Interaktion Benutzer oder eine Remote-Maschine), Web-MVC-Controller, Web-View-Objekt, Remote-Fassade zum Beispiel.
2) Anwendung definiert, welche Funktionen Ihr System bietet. Ich denke, es ist stark mit der Ebene Interfaces gekoppelt. Wenn Sie eine Methode in Application definieren, müssen Sie häufig auch eine Interfaces-Klasse/Methode hinzufügen. Mehrere Interfaces-Klassen/Methoden können jedoch vom selben Application-Objekt abhängig sein. Sie stellen beispielsweise sowohl eine Web-UI als auch einen Web-Service zur Verfügung.
3) Domain, der stabilste Teil Ihres Systems. Im Sprachkontext zum Beispiel sind Wort/Satz Domänenobjekte, die ihre eigene Bedeutung haben, die ich zu dieser Antwort formulierte. Sie könnten mich also als ein Anwendungsobjekt betrachten, obwohl nicht gut, weil ich kein fließendes Englisch spreche: P
4) Infrstructure, eigentlich glaube ich nicht, dass dies eine Schicht ist, es implementiert alle oben genannten drei . Zum Beispiel haben Sie eine Schnittstelle OrderRepository in Ihrer Domain-Schicht und Sie könnten es mit einem orm-Framework (Persistenz-Infrastruktur) implementieren. Die meisten Infrastrukturobjekte sind Adapter (implementiert eine Schnittstelle in der Ebene Application/Domain/Interfaces und passt sich an externe Komponenten wie Datenbank, Messaging-Provider, Mail-Server usw. an).
Hoffe, das hilft.
Update für Infrastruktur Vorsatz:
Dies ist eines unserer Projekt Paket Ansicht.

Es gibt einige Adapter in der Infrastrukturschicht:
1.infrastructure.channel.XXX jedes Paket mehrere Adapter zu einem bestimmten Online-Payment-Anbieter enthält.
2.infrastructure.payment enthält Adapter zu einem Zahlungssystem unserer Organisation, aber es ist in einem anderen beschränkten Kontext. Wir verwenden MakePaymentService (ein Domain-Service), um das Zahlungssystem von anderen Teilen dieses Systems zu entkoppeln.
3.infrastructure.messaging enthält Adapter-Messaging-Provider bieten wir eine jms für PaymentWasMadeNotifier (Application Service)
4.infrastructure.persistence enthält Adapter zur Datenbank implementieren, bieten wir ein iBATIS (ein ORM-Framework in Java) für Domain Repositories.
Diese obigen Adapter implementieren alle einige Schnittstellen in den Anwendungs / Domänen-Schichten. Im Folgenden finden Sie einige "Service", aber sie sind generic:
5.infrastructure.mail
6.infrastructure.logging
7.infrastructure.security
Diese Paket über eine Schnittstelle aussetzen und Implementierungen. Zum Beispiel stellen wir eine MailManager-Schnittstelle zur Verfügung, die bestimmten Funktionen nicht entspricht. Der Betreff, der Inhalt hängt von der Anwendungsschicht/Domänenebene ab. Wir bieten eine Implementierung mit Javamail im selben Paket.
public interface MailManager {
void send(String subject, String content);
}
8.infrastructure.time dies ein besonderes ist, haben wir einige cron-Job in diesem System, so stellen wir eine Uhr die Zeit von der Arbeit zu entkoppeln vorstellen Einstellung und damit seine freundliche Tests (Just, dass wir ein Job, sollte es am 25. jeden Monat gestartet werden, können wir den Job testen, indem wir die aktuelle Zeit auf den 25. stellen, selbst wenn es heute 1. ist). Wir bieten eine Implementierung in Persistenz-Paket (Aus irgendwelchen Gründen müssen wir verwenden Datenbank‘Zeit in der Produktion)
public interface Clock {
Date now();
}
Also mein Verständnis ist: Infrastruktur-Service/Implementierungen auf Ihre anderen drei Schichten bietet, aber sie sind technologiespezifische . Beispiel: Betreff, Inhalt, Von, Bis, CC sind Domänenmodelle im Mailkontext, aber sie sind Infrastrukturen in Ihrem Domänenkontext. Die Infrastrukturebene trennt sie für Sie.
Ich habe den letzten Artikel gelesen, den Sie verlinkt haben. Es scheint, dass es Ähnlichkeiten mit Hippooms Antwort hat. Aber ich habe nicht verstanden, warum einige der Layer "Services" in ihrem Namen hatten. Domain-Dienste, Anwendungsdienste. Möchtest du mir bitte die Bedeutung erklären? –
Domain-Dienste und Application Services auf diesem Link stehen für das Gleiche, was Domain und Application Layer in Hippooms Antwort tut. Es benennt nur Umrechnungsdifferenz. Anwendungsdienste und Domain-Service-Details habe ich am Ende meiner Antwort wegen der Begrenzung der Wörter in Kommentar hier aufgenommen. Vielen Dank. –
Danke für die Antwort. Ich denke, ich habe drei letzte Fragen. Wofür ist die Infrastrukturschicht, was sollte sie enthalten? Wohin geht die Präsentationslogik (ist das die UI/Presentation/Interfaces Layer)? –