Link zum Artikel über Medium
Schauen Sie sich den Artikel an, um mehr über das Konzept und auch über die Implementierung zu erfahren.
Clean Architecture ist eine praktische Software -Architekturlösung aus dem legendären Robert C. Martin (auch bekannt als „Onkel Bob“). Durch die Anwendung von universellen Regeln der Software -AR -Chitektur können Sie die Produktivität der Entwickler während der gesamten Lebensdauer eines jeden Softwaresystems dramatisch verbessern.
Warum maximieren Sie die Anzahl der nicht getroffenen Entscheidungen? !! Wir als Entwickler wissen experiment, dass die Frameworks, die wir zu Beginn des Projekts (Datenbanken oder Webrahmen usw.) auswählen, zu Beginn des Projekts schwer zu ersetzen sind, und das liegt an einer engen Kopplung und vielen anderen frühen Entscheidungen, eine der gemeinsamen Fehler, dass wir unser Projekt basierend auf diesen Frameworks erstellen und dann die Geschäftslogik, die sich um sie eingewickelt hat. Die Antwort lautet: Wir sollten eine Architektur erstellen, die Veränderung ermöglicht. Ja, ich betone Veränderung. Änderung von niedrigen Komponenten und Frameworks, ohne die Kernlogik- und hochrangigen Komponenten zu treffen.
Das Muster betont, dass jedes Softwareprojekt nur aus zwei Elementen der Richtlinie und den Details hergestellt wird. Die Richtlinie (hochrangige Komponenten) ist der Kern des Softwaresystems, das alle Geschäftsregeln, alle Unternehmen und alles umfasst, was eine einzigartige Identität für diese Software darstellt. Wie eine Kundeneinheit oder ein Checkout-Aktion in einer E-Commerce-Plattform. Das Detail (Komponenten auf niedrigerer Ebene) sind Möglichkeiten, wie Menschen mit den Geschäftsregeln interagieren können, die Muster diese als IO -Geräte, Datenbanken, Webserver usw. wie eine Checkout -Schaltfläche, die die entsprechende Geschäftsregel auslöst oder diese Kundeneinheit in einer Datenbank oder einer Datei oder einem beliebigen Persistenzmechanismus beherrscht.
Das endgültige Ziel des Musters ist es, die hochrangigen Komponenten von Komponenten auf niedriger Ebene zu trennen und zu versuchen, sie zusammenzuarbeiten und hochrangige Änderungen in den Details immun zu machen. Lassen Sie mich diese ganze Idee an einigen Beispielen konkret machen. Stellen Sie sich eine Software vor, die auf einer relationalen Datenbank wie MySQL aufgebaut ist, und verwendet Express JS als Webserver als Webserver. Nach einem Jahr stellen die Stakeholder neue Anforderungen und Funktionen ein, die nicht mit der relationalen Datenbank übereinstimmen und die NOSQL -Datenbank erfordern. Wenn die Software -Implementierung eine gute Architektur mit lockerer Kopplung zwischen Komponenten folgt, müssen Sie keine Revolution mit Änderungen durchführen. Es ist ziemlich einfach, die Datenbank oder den Webserver oder ein anderes Detail der Software zu ersetzen, das in die Lösung passt, ohne die Geschäftsregeln und die Komponenten auf höherer Ebene zu beeinträchtigen.
Onkel Bob betont auf solide Prinzipien, die mit sauberem Architekturmuster eine lesbare, wartbare, skalierbare und einfach einsetzbare Softwarelösung bilden.