Das Open/Closed Principle (OCP) besagt, dass Softwareentitäten offen für Erweiterungen, aber geschlossen für Modifikationen sein sollten: Sie sollten neues Verhalten durch Hinzufügen von neuem Code hinzufügen, nicht durch Bearbeiten von bestehendem, getestettem Code.
Der Geruch, auf den OCP abzielt
():
shape.kind == : * shape.r **
shape.kind == : shape.s **
shape.kind == : shape.w * shape.h
