Skip to main content

Was ist das Prinzip der einzigen Verantwortung?

Bei Computerprogrammierung und Design ist das Prinzip der einzelnen Verantwortung ein Konzept, das sich für die Ansicht einsetzt, dass jede Klasse in einem Programm nur eine Funktion in der größeren Anwendung ausführen sollte.Diese Idee fördert teilweise einige der Ideale der objektorientierten Programmierung, wie z. B. die Kapselung, da sich eine ganze Klasse auf eine einzige Verantwortung konzentriert und wenig auf externe Klassen angewiesen ist.Gleichzeitig ist es etwas entgegengesetzt zu einigen der Konzepte der frühen objektorientierten Programmierung, da die Funktion eines einzelnen Objekts aus den Daten entkoppelt ist, die das Objekt behandelt, was bedeutetEinige zentrale Daten.Das Prinzip der einzelnen Verantwortung ist die Grundlage für eine Art von Designmodell, die als Verantwortungsorientierung bezeichnet wird.

Ein Beispiel für das Prinzip der einzelnen Verantwortung könnte in Form eines traditionellen Telefonhandelssatzes antreten.Einige Designprinzipien würden das Mobilteil als ein einzelnes Objekt sehen, das sowohl Eingaben von der Telefonleitung als auch die Übertragung der Ausgabe vom Lautsprecher abwickelt.Unter einem einzelnen Verantwortungsmodell, in dem ein einzelnes Objekt nur eine einzelne Verantwortung haben sollte, würde das Mobilteil aus mehreren separaten Objekten bestehen, die jeweils eine einzelne Funktion ausführten, z.Der Ohrhörer.

Einer der Vorteile, die die Verwendung des einzigen Verantwortungsprinzips ermöglicht, ist ein sehr hohes Maß an Abstraktion und Modularität.Im Beispiel des Mobilteils kann entweder die Eingabe von der Telefonleitung oder die Art und Weise, wie das Signal an den Benutzer ausgegeben wird, geändert werden, ohne die benachbarten Klassen zu beeinflussen, solange er denselben Vertrag für die Schnittstelle einhält.Darüber hinaus kann die Wiederverwendbarkeit bestimmter Komponenten sehr hoch sein, da jede Klasse vollständig eingekapselt ist und nur sehr wenig auf umgebende Objekte abhängt und sich stattdessen auf die einzige Verantwortung konzentriert.

Eine Komplikation, die das Prinzip der einzigen Verantwortung erzeugen könnte, istEine große Anzahl von Klassen und Objekten, die alle mit denselben Daten arbeiten.Dies kann eine große Menge an Overhead und einen komplizierten Entwurfsprozess bedeuten.Es kann auch das Debuggen eines großen Programms erschweren, da ein einzelner Teil des Programms aus Tausenden kleiner Klassendateien bestehen könnte.

Wenn das Prinzip der einzigen Verantwortung durch ein Verantwortungssteuerung, die Daten und die Methoden zur Manipulation angewendet wirdDie Daten werden für Konstruktionszwecke getrennt.Dies führt zwar zu einer bestimmten Freiheit, Kapselung und Modularität im Design, kann aber auch eine Reihe von Zwischenmustern und -designs erzeugen, die verwendet werden müssen, um eine Reihe von Klassen zu erleichtern, die alle versuchen, gleichzeitig mit den Daten zu interagieren.Wenn die Daten eines Objekts und die Methoden zur Manipulation alles in einem einzelnen Verantwortungsobjekt zusammengebunden sind, kann der Code schwieriger zu ändern, wenn Systeme skalieren, sich ändern oder komplexer werden.