Von der Code-Ebene zur Systemarchitektur
Wir sind fast am Ende angelangt. Heute, am letzten inhaltlichen Tag unseres Clean-Code-Abenteuers (morgen folgt noch ein Schlusswort), heben wir unseren Blick von der Code-Ebene auf das System als Ganzes. Dieser Schritt erfordert ein breiteres Verständnis und die Fähigkeit, aus der Vogelperspektive auf unsere Software zu schauen. Denn selbst wenn jede einzelne Codezeile den Clean-Code-Prinzipien entspricht, garantiert das noch keine langfristig wartbare Systemarchitektur.
Die fundamentalen Systemelemente
In jedem Softwaresystem lassen sich wiederkehrende Elemente identifizieren. Die zwei wichtigsten davon sind Erzeugung und Anwendung. Jedes System muss aus verschiedenen Komponenten zusammengesetzt werden – Services, Repositories, Domain-Objekte, Datenbankverbindungen und viele mehr. Die Erschaffung dieser Komponenten sollte konsequent von ihrer Verwendung in der Geschäftslogik getrennt werden. Dies folgt dem bekannten Single Responsibility Principle (SRP) und dem Konzept der "Separation of Concerns", allerdings auf einer höheren Abstraktionsebene.