Eigenständiger BegriffPrinzipKapitel I · Prinzipien · Baustein 4 von 8

Single Responsibility Principle

Eine Verantwortung bezeichnet eine kohärente Zuständigkeit und ihre Änderungsgründe, nicht eine einzelne Methode.

  1. VerantwortungFasst Verhalten mit gemeinsamem Änderungsgrund zusammen.
  2. ÄnderungsgrundErklärt, warum eine Anpassung fachlich oder organisatorisch nötig wird.
  3. KopplungGemeinsame Änderungen zeigen, wo Zuständigkeiten verbunden sind.

Einordnung

Warum das wichtig ist

Verantwortungen anhand konkreter Änderungsgründe zusammenfassen und voneinander trennen.

Entwurfsprinzip für fachliche und technische Modulgrenzen.

Shop-Beispiel · Zuordnung

Verantwortung und Änderungsgrund

Der Beispielshop bleibt ein modularer Monolith mit sieben Modulen und gemeinsamer Auslieferung.

So liest du das Bild

  1. Verantwortung Zuständigkeit
  2. Änderungsgrund Auslöser
  3. Kopplung Änderungsmuster
Verantwortung und Änderungsgrund
ÄnderungBeobachtungMögliche Verantwortung
FachregelRegel ändert sichFachliches Modul
DarstellungFormat ändert sichDokumentbaustein
Beobachtete Änderungsmuster helfen, Verantwortungen zu prüfen.

Nutzen & Grenzen

Hilft, wenn

  • Ein Baustein muss sich aus voneinander unabhängigen Gründen ändern.
  • Änderungen lassen sich einer fachlich oder organisatorisch kohärenten Verantwortung zuordnen.

Grenzen

  • „Eine Klasse pro Methode“ erhöht die Zahl der Bausteine und verteilt zusammengehöriges Wissen.
  • Ein klarer Änderungsgrund ist kontextabhängig; Teams müssen Grenzen an realen Änderungsmustern prüfen.

In der Praxis

  1. Sammle konkrete Änderungen aus den letzten Monaten und ordne sie den betroffenen Modulen und Klassen zu. Prüfe mit dem Änderungsteam, ob die Fälle denselben fachlichen oder organisatorischen Grund haben.
  2. Gruppiere Verhalten, das aus demselben Grund geändert wird, und trenne Zuständigkeiten mit unabhängigen Änderungsursachen. Beschreibe jede Verantwortung als zusammenhängende Entscheidung, nicht als einzelne Methode.
  3. Vergleiche die vorgeschlagene Grenze mit einem konkreten Änderungsfall. Wenn eine Anforderung mehrere Gruppen regelmäßig gemeinsam ändern lässt, prüfe, ob Regeln oder Verantwortungen im Modell falsch zugeschnitten sind.
Ausführliche Erklärung lesen

Das Single Responsibility Principle wird häufig mit „one reason to change“ erläutert. Es hilft, Verantwortungen an fachlichen oder organisatorischen Änderungsgründen auszurichten. Eine Klasse kann mehrere Methoden enthalten, solange sie gemeinsam eine zusammenhängende Aufgabe erfüllen. Umgekehrt kann eine einzelne Methode mehrere Zuständigkeiten vermischen, wenn sie etwa fachliche Berechnung, Datenbankzugriff und Formatierung übernimmt.

Das Prinzip betrachtet Änderungsgründe; Separation of Concerns ordnet getrennte Belange, und Kohäsion prüft den Zusammenhalt eines Bausteins.

Selbst prüfen

Teste dich in drei Stufen

  1. AblesenIm Bild nachsehen

    Welche Verantwortung passt zur Änderung von Versandregeln?

    Lösung mit Begründung ansehen

    Die fachliche Zuständigkeit für Versand.

  2. AnwendenAuf eine neue Lage übertragen

    Wie prüfst du, ob zwei Aufgaben zusammengehören?

    Lösung mit Begründung ansehen

    Vergleiche, ob sie aus denselben fachlichen Änderungsgründen entstehen.

  3. BewertenEine Alternative abwägen

    Welche Folge hat das Verteilen einer Verantwortung auf viele Module?

    Lösung mit Begründung ansehen

    Eine fachliche Änderung erfordert koordinierte Änderungen an mehreren Stellen.

Weiter im Lernpfad

Als Nächstes in Prinzipien & Grenzen: Modulgrenzen.