Saubere Architektur. Teil III - Gestaltungsprinzipien

Diese Serie ist eine kostenlose und sehr kurze Nacherzählung von Robert Martins (Onkel Bobs) Buch Clean Architecture aus dem Jahr 2018. Der vorherige Teil ist hier .





Design-Prinzipien

Die SOLID-Prinzipien zeigen uns, wie wir unsere Funktionen und Daten zu Klassen kombinieren können und wie diese Klassen miteinander verbunden werden sollten. Das heißt, diese Prinzipien liegen auf der mittleren Ebene. Sie gelten jedoch auch für die Komponentenebene (High-Level-Architektur).





Die SOLID-Prinzipien begannen Ende der 1980er Jahre und stabilisierten sich Anfang der 2000er Jahre.





SRP: Prinzip der Einzelverantwortung

In der Vergangenheit wurde dieses Prinzip wie folgt formuliert: Ein Modul sollte nur einen Grund zur Änderung haben.





Onkel Bob schlägt jedoch eine andere, präzisere Formulierung vor: Das Modul sollte für einen und nur einen Schauspieler verantwortlich sein .





Ein Modul ist ein verwandter Satz von Funktionen und Datenstrukturen.





Ein Beispiel für eine Verletzung des Prinzips: die Klasse Employee



mit drei Methoden calculatePay()



, reportHours()



, save()



. Alle drei Methoden gelten für verschiedene Akteure. calculatePay()



- das ist Buchhaltung, reportHours()



- das ist die Personalabteilung, save()



- das ist der Datenbankadministrator. Wenn einer der Akteure Änderungen an seiner Methode anfordert, kann dies die Logik anderer Methoden brechen. Es macht es auch schwierig, Änderungen von verschiedenen Akteuren zusammenzuführen.





– . , .





OCP: /

, .





: .





.





: -. - . OCP , , , . , , , . , .. .





, , .





OCP , .





LSP:

: S T, T S - .





, , .





LSP: /.





LSP: , REST- . . , , .





ISP:

, .





, , .





, . ISP , , , . , , . .





DIP:

, .





Java , .





, , , java.lang.String



. . , , . .





. , , .





.





, ? :









  • , (XML, )









In Zukunft werden wir uns häufiger als andere Prinzipien auf das DIP-Prinzip beziehen, da es uns die wichtigste Regel für den Aufbau einer kompetenten Architektur vorschreibt: die Abhängigkeitsregeln .





Fortsetzung folgt...








All Articles