Open/Closed Principle (OCP) pravi, da bi morale programske enote biti odprte za razširitev, a zaprte za spremembo: novo obnašanje dodajate z dodajanjem novega koda, ne z urejanjem obstoječega, preizkušenega koda.
Vonj, ki ga OCP naslovi
():
shape.kind == : * shape.r **
shape.kind == : shape.s **
shape.kind == : shape.w * shape.h
