Modules should be open for enhancement but closed for modification.
Beware that wrong application of OCP may lead to the anti-pattern onion.
See also section contrary principles.
Bertrand Meyer: Object-Oriented Software Construction, p. 57pp.
Robert C. Martin created the SOLID principle collection where “SOLID” is an acronym for the following principles:
This is the subset of Martin's principles that deals with the design of classes. For the full list of principles he collected see Robert C. Martin's Principle Collection.
|Principles In "Object-Oriented Software Construction"|
|“Fife Rules”||Direct Mapping||Few Interfaces||Small Interfaces||Explicit Interfaces||Information Hiding|
|“Fife Principles”||Linguistic Modular Units||Self-Documentation Principle||Uniform Access Principle||Open-Closed Principle||Single Choice Principle|
|Further principles||Command-Query Separation||Symbolic Constant Principle||Taxomania Rule|