24. Open-Closed-Prinzip
- Themen
- Das Open-Closed-Prinzip
- Beispiele für seinen Einsatz
- Bedeutung im Gesamtkontext der Software-Architektur
- Folien
Zentrale Aspekte
- Softwareeinheiten sollten offen für Erweiterungen,
aber verschlossen gegenüber Veränderungen sein. - Schlüssel des Prinzips sind zwei Kernaspekte der OOP:
Vererbung und Polymorphie (zusammen mit Abstraktion). - Implementiert werden sollte immer nur
gegen (abstrakte) Schnittstellen. - Verschlossenheit gegenüber Veränderung ist nie vollständig.
- Kern objektorientierten Entwurfs:
Führt zu Flexibilität, Wiederverwendbarkeit, Wartbarkeit.
Weiterführende Literatur
Eine kommentierte und handverlesene Liste mit weiterführender Literatur zum Thema. Die Auswahl ist zwangsläufig subjektiv.
Die Formulierung und Namensnennung geht auf Bertrand Meyer zurück: {[meyer-b-1997]}, Kapitel 3.3, S. 57ff. In den Reigen der SOLID-Prinzipien aufgenommen wurde es von Robert C. Martin, der es in seinen Büchern diskutiert, z.B. in Kapitel 9 in {[martin-rc-2003]}. Die Erweiterung auf höhere Ebenen der Software-Architektur jenseits des Zusammenspiels von Klassen inklusive einer Diskussion des Zusammenhangs zwischen Abstraktion und Stabilität und Metriken für Abstraktion werden in {[martin-rc-2018]}, S. 126ff., ausgeführt.
Viele der Muster, die in {[gamma-e-1995]} vorgestellt werden, verwenden auf die eine oder andere Weise das OCP.
<bibtex bibliography> sort=true </bibtex>
