Open/Closed Principle (OCP) nói rằng các thực thể phần mềm nên mở cho mở rộng nhưng đóng cho sửa đổi: bạn nên thêm hành vi mới bằng cách thêm code mới, không phải bằng cách chỉnh sửa code đã có sẵn và đã được kiểm thử.
"Mùi" mà OCP nhắm tới
():
shape.kind == : * shape.r **
shape.kind == : shape.s **
shape.kind == : shape.w * shape.h
