Open/Closed Principle (OCP) sier at softwareenheter skal være åpne for utvidelse men lukkede for modifisering: du bør legge til ny oppførsel ved å legge til ny kode, ikke ved å redigere eksisterende, testet kode.
Problemet OCP adresserer
():
shape.kind == : * shape.r **
shape.kind == : shape.s **
shape.kind == : shape.w * shape.h
