OOP Prinzipien

Open Closed Principle

Einführung

Das Open-Closed-Prinzip (Prinzip der Offen- und Verschlossenheit) kurz OCP wird von Bertrand Meyer wie folgt beschrieben:

„Module sollten sowohl offen für Erweiterungen,
als auch verschlossen für Modifikationen sein“.

Dies bedeutet, dass das Verhalten eines Moduls (Klasse, Methode …) erweitert werden kann, ohne den Ursprünglichen Quellcode verändern zu müssen. Die ursprüngliche Version eines Moduls wird demnach nicht mehr bearbeitet sondern das Verhalten in künftigen Versionen lediglich erweitert.

Am Beispiel einer kompilierten Klassenbibliothek würde eine Erweiterung durch eine Ableitung stattfinden. Die ursprüngliche Klasse bleibt dabei für Modifikationen verschlossen. Dadurch werden nötige Anpassungen an allen Klassen, welche die Bibliothek verwenden, verhindert.

Single Responsibility Principle

Einführung

Das Single Responsibility Principle (SRP) – zu deutsch „Prinzip der eindeutigen Verantwortlichkeit“ sagt aus, dass jede Klasse oder Modul nur eine einzige Aufgabe innerhalb eines Programmes erledigen soll und dafür nur Funktionen zur Erfüllung dieser Aufgabe enthält. Es ist daher ein Prinzip zur Strukturierung das dem Entwickler erlaubt, Funktionalität logisch zu Gruppieren.

Robert C. Martin, unter anderem Autor der , drückt es folgendermaßen aus:

“There should never be more than one reason for a class to change.”
“Es sollte nie mehr als einen Grund geben, eine Klasse zu ändern.“

Er stützt seine Aussage wiederrum auf das Prinzip der Kohäsion.