bg_image
header

Single-Responsibility-Prinzip

Das Single Responsibility Principle (SRP), auf Deutsch "Prinzip der einzigen Verantwortlichkeit", ist eines der grundlegenden Prinzipien des SOLID-Prinzipienkatalogs in der Softwareentwicklung. Es wurde von Robert C. Martin vorgestellt und ist eines der wichtigsten Konzepte zur Erreichung einer guten Softwarearchitektur.

Das Prinzip besagt, dass eine Klasse oder ein Modul in einem Programm nur eine einzige Verantwortlichkeit haben sollte. Mit anderen Worten sollte eine Klasse nur für eine bestimmte Aufgabe oder Funktionalität zuständig sein. Wenn es mehr als eine Verantwortlichkeit gibt, wird die Klasse anfällig für Änderungen, die eine der Verantwortlichkeiten betreffen, und es besteht die Gefahr, dass sich Änderungen an einer Verantwortlichkeit negativ auf andere Verantwortlichkeiten auswirken.

Ein Beispiel, um das SRP zu verdeutlichen, wäre eine Klasse, die sowohl für die Datenbankverbindung als auch für die Berechnung komplexer mathematischer Operationen verantwortlich ist. Dies wäre ein Verstoß gegen das SRP, da die Klasse zwei verschiedene Verantwortlichkeiten hat, die unabhängig voneinander sein sollten. Stattdessen sollten diese Funktionen in separate Klassen aufgeteilt werden, sodass jede Klasse nur für eine der Verantwortlichkeiten zuständig ist.

Die Vorteile des SRP sind vielfältig:

  1. Bessere Lesbarkeit und Verständlichkeit: Eine Klasse mit nur einer Verantwortlichkeit ist einfacher zu verstehen, da sie sich nur auf eine spezifische Funktionalität konzentriert.

  2. Einfachere Wartung und Änderung: Wenn eine Klasse nur eine Verantwortlichkeit hat, führen Änderungen an dieser Verantwortlichkeit nicht zu unerwarteten Seiteneffekten in anderen Teilen des Codes.

  3. Erhöhte Wiederverwendbarkeit: Gut abgegrenzte Klassen mit einer einzigen Verantwortlichkeit können leichter in anderen Projekten wiederverwendet werden.

  4. Bessere Testbarkeit: Klassen mit klar definierten Verantwortlichkeiten lassen sich einfacher isolieren und somit besser testen.

Das SRP ist eng mit anderen SOLID-Prinzipien verbunden, insbesondere dem "Open/Closed Principle" (OCP) und dem "Dependency Inversion Principle" (DIP). Durch die Einhaltung des SRP wird die Wahrscheinlichkeit erhöht, dass der Code offen für Erweiterungen ist (OCP), da Änderungen nur die spezifische Klasse betreffen sollten. Zudem unterstützt das SRP das DIP, indem es die Abhängigkeiten zwischen Klassen reduziert und somit die Flexibilität und Wartbarkeit der Anwendung verbessert.


Erstellt vor 1 Jahr
Design Patterns Objektorientierten Programmierung Prinzipien Programmierung

Hinterlasse einen Kommentar Antworten Abbrechen
* Erforderliches Feld