Open/Closed Principle (OCP) siger, at softwareenheder skal være åbne for udvidelse, men lukkede for ændring: du skal tilføje ny adfærd ved at tilføje ny kode, ikke ved at redigere eksisterende, testet kode.
Den lugt OCP sigter mod
():
shape.kind == : * shape.r **
shape.kind == : shape.s **
shape.kind == : shape.w * shape.h
