Clean Architecture

Clean Architecture

Layercake of frozen music

Im Laufe der Zeit wurde die Software-Architektur auf viele verschiedene Arten definiert. Formale Definitionen besagen, dass es sich um die grundlegende Zusammensetzung eines Systems handelt, oder um die Art und Weise, wie die Komponenten der obersten Ebene zusammengesetzt sind. Andere haben gesagt, dass es sich um die Entscheidungen handelt, von denen sie sich wünschen, dass sie zu Beginn eines Projekts richtig getroffen worden wären. Letztendlich ist die Architektur aber alles, was wichtig ist, und das ist von System zu System unterschiedlich.

Die Software-Architektur ist wichtig, weil sie zur ständigen Weiterentwicklung eines Systems beiträgt, ohne es zu teuer oder unerschwinglich zu machen. Clean Architecture wurde erstmals 2012 von Robert C. Martin in einem Blogpost vorgestellt und zielt darauf ab, genau das zu tun. Was also ist Clean Architecture, wann und wo sollte sie eingesetzt werden?

Im Laufe der Zeit wurde die Software-Architektur auf viele verschiedene Arten definiert. Formale Definitionen besagen, dass es sich um die grundlegende Zusammensetzung eines Systems handelt, oder um die Art und Weise, wie die Komponenten der obersten Ebene zusammengesetzt sind. Andere haben gesagt, dass es sich um die Entscheidungen handelt, von denen sie sich wünschen, dass sie zu Beginn eines Projekts richtig getroffen worden wären. Letztendlich ist die Architektur aber alles, was wichtig ist, und das ist von System zu System unterschiedlich.

Die Software-Architektur ist wichtig, weil sie zur ständigen Weiterentwicklung eines Systems beiträgt, ohne es zu teuer oder unerschwinglich zu machen. Clean Architecture wurde erstmals 2012 von Robert C. Martin in einem Blogpost vorgestellt und zielt darauf ab, genau das zu tun. Was also ist Clean Architecture, wann und wo sollte sie eingesetzt werden?

Was ist Clean Architecture?

Clean Architecture ist eine Softwareentwurfsphilosophie, die darauf abzielt, die Trennung von Belangen in einem System zu maximieren und die Verwendung von sauberem Code und SOLID-Grundsätzen zu fördern. Die Trennung der Belange wird durch Aufteilung der Software in Schichten erreicht. Ein System, das nach einer sauberen Architektur aufgebaut ist, ...

  • ist unabhängig von Frameworks, da diese hinter Schnittstellen versteckt sind und leicht ausgetauscht werden können.
  • ist testbar, da die Geschäftsregeln nicht von einer anderen Schicht abhängig sind.
  • ist unabhängig von einer Benutzeroberfläche oder Datenbank, da diese wie die Frameworks einfach ausgetauscht werden können.
Clean Architecture
Layers of Clean Architecture

Clean Architecture Schichten 

Die vier oben gezeigten Schichten sind natürlich nicht die einzigen, die es geben kann, je nach Problemstellung können weitere Schichten hinzugefügt werden. Das einzige, was dabei beachtet werden sollte, ist die Abhängigkeitsregel. Diese Regel besagt, dass Abhängigkeiten nur nach innen gerichtet sein dürfen. Innere Schichten sollten niemals von den äußeren Schichten abhängen.

Entitäten sind die innerste Schicht, sie kapseln Geschäftsregeln oder Dinge, die für eine Anwendung immer wahr oder statisch sein werden. Entitäten können einfach Objekte mit Methoden oder einfache Datenstrukturen und Funktionen sein. Diese Schicht wird sich während der Lebensdauer einer Anwendung wahrscheinlich am wenigsten ändern und sollte von Änderungen in anderen Schichten nicht betroffen sein.

Sie implementieren die Anwendungsfälle des Systems, indem sie mit Entitäten interagieren und Daten zwischen ihnen austauschen, um die entsprechenden Ziele zu erreichen. Im Wesentlichen legen sie fest, welche Interaktionen mit dem System möglich sind.

Den ganzen Artikel über den Trend „Clean Architecture“ liest du im neuen UXMA Trend Report 2022!


Jetzt kostenlos downloaden!

Über 50 Seiten vollgepackt mit den neuesten und relevantesten Trends aus der Softwareentwicklung. Textsprache: Englisch.

 

Trendreport