Principiul Open/Closed (OCP) spune că entitățile software ar trebui să fie deschise pentru extindere dar închise pentru modificare: ar trebui să adăugați comportament nou adăugând cod nou, nu prin editarea codului existent și testat.
Problema pe care o vizează OCP
():
shape.kind == : * shape.r **
shape.kind == : shape.s **
shape.kind == : shape.w * shape.h
