All concepts

Open-Closed Principle

Software design principle that states that software entities should be open for extension but closed for modification, meaning that they should be designed in a way that allows for easy addition of new functionality without changing the existing code.

EverydayConcepts.io

Origin

Bertrand Meyer, a French software engineer and creator of the Eiffel programming language, introduced the principle in his 1988 book Object-Oriented Software Construction. Meyer argued that well-designed modules should be open to extension but sealed against alteration — rooted in his work on contracts and class inheritance. In the 1990s, Robert C. Martin reinterpreted the principle for polymorphism-based design and later enshrined it as the "O" in his SOLID framework, giving it the reach it holds today.

Updated September 4, 2018