SOLID-Prinzipien entmystifiziert – (S)
Eine Klasse darf nur für einen einzigen Zweck verantwortlich sein, was bedeutet, dass eine Klasse nur eine Art von Aufgabe zu erfüllen hat, wie z. B. (Datenbanklogik, Protokollierungslogik usw.).
Beispielszenario
Stellen Sie sich eine Anwendung vor, die die Summe der Fläche aller Formen (Kreis, Quadrat, Dreieck usw.) in einem bestimmten Array berechnet und das Ergebnis in einem beliebigen Format ausgibt, das wir benötigen.
Schlecht geschrieben
In der Klasse AreaCalculator berechnen wir nicht nur die Summe der Flächen bereitgestellter Shapes, sondern geben auch Daten im JSON-Format aus. Stellen Sie sich ein Szenario vor, in dem die Ausgabe in ein anderes Format wie CSV, HTML usw. konvertiert werden soll.
Dieser Kodex ist funktional korrekt, verstößt aber gegen das Prinzip der Einzelverantwortung. Die AreaCalculator- Klasse muss nur die Summe der Flächen der bereitgestellten Formen berechnen. Es darf sich nicht um die Anzeige von Daten in JSON oder einem anderen Format handeln.
Gut geschrieben
Um diesen Verstoß zu beheben, müssen wir eine separate Klasse erstellen, um die Ausgabe der Daten aus der AreaCalculator- Klasse zu verarbeiten. Diese neue Klasse AreaCalculatorDisplay übernimmt die Logik zur Ausgabe der Daten in einem beliebigen Format.
Wichtige Vorteile
- Testen – Eine Klasse mit einer Verantwortung hat weitaus weniger Testfälle.
- Geringere Kopplung – Weniger Funktionalität in einer einzelnen Klasse hat weniger Abhängigkeiten.
- Organisation – Kleinere, gut organisierte Klassen sind einfacher zu durchsuchen als monolithische.

![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































