Heim > Artikel > Backend-Entwicklung > Was bedeutet das Auf-Zu-Prinzip?
Open-Closed-Prinzip
Open-Closed-Prinzip (OCP) ist der Grundstein des „wiederverwendbaren Designs“ im objektorientierten Design und eines der wichtigsten Prinzipien im objektorientierten Design Viele weitere Gestaltungsprinzipien sind ein Mittel zur Verwirklichung des Offen-Geschlossen-Prinzips.
1988 schlug Bertrand Meyer in seinem Buch „Object Oriented Software Construction“ das Öffnungs- und Schließprinzip vor: „Software-Entitäten sollten für Erweiterungen offen, für Modifikationen jedoch geschlossen sein“. Übersetzt: „Softwareeinheiten sollten für Erweiterungen offen und für Änderungen geschlossen sein.“ Dieser Satz ist etwas professionell, lassen Sie uns informeller darüber sprechen, das heißt: Die verschiedenen im Softwaresystem enthaltenen Komponenten, wie Module (Module), Klassen (Classes), Funktionen (Functions) usw., sollten geändert werden Vorhandenen Code erweitern und neue Funktionen einführen. „Offen“ im Offen-Geschlossen-Prinzip bedeutet, dass die Erweiterung der Komponentenfunktionen offen ist, und „Geschlossen“ im Offen-Geschlossen-Prinzip bedeutet, dass die Änderung des ursprünglichen Codes geschlossen ist , es kann nicht Der ursprüngliche Code sollte geändert werden.
Module, die nach dem Öffnungs- und Schließprinzip konzipiert sind, weisen zwei Hauptmerkmale auf:
(1) Offen für Erweiterung. Das bedeutet, dass das Verhalten des Moduls erweiterbar ist. Wenn sich die Anforderungen der Anwendung ändern, können wir das Modul um neue Verhaltensweisen erweitern, die diesen Änderungen gerecht werden. Das heißt, wir können die Funktionalität des Moduls ändern.
(2) Wegen Änderung geschlossen. Wenn Sie das Verhalten eines Moduls erweitern, müssen Sie den Quellcode oder Binärcode des Moduls nicht ändern. Die binäre ausführbare Version des Moduls, unabhängig davon, ob es sich um eine verknüpfbare Bibliothek, DLL oder .EXE-Datei handelt, muss nicht geändert werden.
Implementierungsmethode
Der Schlüssel zur Verwirklichung des Öffnungs- und Schließprinzips liegt in der „Abstraktion“. Abstrahieren Sie alle möglichen Verhaltensweisen des Systems in einer abstrakten unteren Schicht, die die Eigenschaften aller Methoden angibt, die von bestimmten Implementierungen bereitgestellt werden müssen. Als Abstraktionsschicht des Systemdesigns ist es notwendig, alle möglichen Erweiterungen vorherzusehen, sodass in jedem Erweiterungsfall die abstrakte untere Schicht des Systems nicht gleichzeitig geändert werden muss, da eine oder mehrere neue konkrete Implementierungen erforderlich sind Aus der abstrakten unteren Ebene kann das Verhalten des Systems geändert werden, sodass das Systemdesign offen für Erweiterungen ist.
Wir setzen uns seit jeher für eine Nachfrageorientierung im Prozess der Softwareentwicklung ein. Dies erfordert, dass wir beim Entwerfen ein sehr klares Verständnis der Benutzerbedürfnisse haben, die in den Bedürfnissen enthaltenen möglichen Änderungen beurteilen und somit klären, unter welchen Umständen das Öffnungs- und Schließprinzip verwendet werden sollte.
In Bezug auf den variablen Teil des Systems gibt es auch ein spezifischeres Prinzip der Kapselung von Variationen (EVP), das das Öffnungs- und Schließprinzip aus Sicht der Software-Engineering-Implementierung näher erläutert. EVP verlangt, dass beim Entwurf eines Systems alle Teile des Systems, die sich ändern können, bewertet und klassifiziert werden und jeder variable Faktor einzeln gekapselt werden sollte.
In der ersten Entwurfsphase des eigentlichen Entwicklungsprozesses müssen wir alle möglichen Verhaltensweisen des Systems auflisten und diese Verhaltensweisen zur abstrakten unteren Ebene hinzufügen. Dies ist einfach unmöglich und auch unwirtschaftlich . Daher sollten wir Modifikationen realistisch akzeptieren und Änderungen akzeptieren, damit unser Code für Erweiterungen offen und für Modifikationen geschlossen ist.
Vorteile
Wenn ein Softwaresystem dem Offen-Geschlossen-Prinzip entspricht, dann hat es aus softwaretechnischer Sicht mindestens folgende Vorteile:
Gute Wiederverwendbarkeit.
Nach Fertigstellung der Software können wir die Software noch erweitern und neue Funktionen hinzufügen, was sehr flexibel ist. Daher kann dieses Softwaresystem kontinuierlich neue Komponenten hinzufügen, um sich ändernden Anforderungen gerecht zu werden.
Gute Wartbarkeit.
Da die Komponenten des bestehenden Softwaresystems, insbesondere seine abstrakte untere Schicht, nicht geändert werden, müssen wir uns keine Sorgen um die Stabilität der ursprünglichen Komponenten im Softwaresystem machen, die die Änderung vornehmen Software Das System weist eine gewisse Stabilität und Kontinuität auf.
Das obige ist der detaillierte Inhalt vonWas bedeutet das Auf-Zu-Prinzip?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!