Open-Closed Principle

E232906

The Open-Closed Principle is a fundamental object-oriented design guideline stating that software entities should be open for extension but closed for modification, enabling systems to grow without altering existing, tested code.

All labels observed (4)

Label Occurrences
open/closed principle 2
Open-Closed Principle canonical 1
Open-closed principle 1

How this entity was disambiguated

Statements (49)

Predicate Object
instanceOf SOLID principle
object-oriented design principle
software design principle
abbreviation OCP
appliesTo classes
components
functions
modules
services
benefit clear separation between stable and variable parts of a system
easier addition of new features
reduced regression risk
contrastsWith designs that require editing existing code for every new requirement
discourages frequent changes to existing class implementations
modifying stable, tested code
encourages use of abstraction
use of composition
use of inheritance
use of interfaces
use of polymorphism
formulatedBy Bertrand Meyer
goal enable extension of behavior without modifying existing code
facilitate reuse of existing components
improve maintainability of software systems
reduce risk of introducing bugs in tested code
support scalability of software design
influencedBy Bertrand Meyer
introducedIn object-oriented software construction
surface form: Object-Oriented Software Construction
introducedInYear 1988
partOf SOLID principles
promotes encapsulation
extensibility
loose coupling
modularity
stability of public interfaces
relatedTo Dependency Inversion Principle
Interface Segregation Principle
Liskov Substitution Principle
Single Responsibility Principle
statedAs software entities should be open for extension but closed for modification
typicalImplementation plugin mechanism
strategy pattern
template method pattern
use of configuration or metadata to add behavior
usedIn domain-driven design
framework design
library design
object-oriented programming
plugin architectures

How these facts were elicited

Referenced by (5)

Full triples — surface form annotated when it differs from this entity's canonical label.

Adapter promotes Open-Closed Principle
this entity surface form: Open-closed principle
State supports Open-Closed Principle
subject surface form: State (design pattern)
this entity surface form: open/closed principle
Visitor supports Open-Closed Principle
this entity surface form: open/closed principle
Single Responsibility Principle relatedTo Open-Closed Principle
this entity surface form: Open/Closed Principle