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 |
| Open/Closed Principle | 1 |
How this entity was disambiguated
This entity first appeared as the object of triple T2092661 — resolving that mention is where its identity was fixed. The disambiguator weighed these candidate entities and picked the highlighted one (or “None”, minting a new entity). This is how homonymy is resolved: the same surface form can point to different entities.
Target entity: Open-Closed Principle Context triple: [Agile Software Development, Principles, Patterns, and Practices, explainsConcept, Open-Closed Principle]
-
A.
DRY principle
The DRY (Don't Repeat Yourself) principle is a software development guideline that emphasizes reducing repetition by centralizing logic and data to improve maintainability and reduce errors.
-
B.
Clean Architecture
Clean Architecture is a software design philosophy and set of principles, popularized by Robert C. Martin, that emphasizes separation of concerns, testability, and independence from frameworks, databases, and user interfaces.
-
C.
Chain of Responsibility
Chain of Responsibility is a behavioral design pattern that decouples senders and receivers by passing a request along a chain of potential handlers until one of them processes it.
-
D.
Design Patterns: Elements of Reusable Object-Oriented Software
Design Patterns: Elements of Reusable Object-Oriented Software is a seminal software engineering book by the "Gang of Four" that catalogues foundational object-oriented design patterns widely used in software development.
-
E.
Refactoring: Improving the Design of Existing Code
"Refactoring: Improving the Design of Existing Code" is a seminal software engineering book by Martin Fowler that systematically defines refactoring techniques to improve code structure while preserving behavior.
- F. None of above. chosen
- G. Unsure - the case is ambiguous/there is not enough information to decide.
Target entity: Open-Closed Principle Target entity description: 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.
-
A.
DRY principle
The DRY (Don't Repeat Yourself) principle is a software development guideline that emphasizes reducing repetition by centralizing logic and data to improve maintainability and reduce errors.
-
B.
Clean Architecture
Clean Architecture is a software design philosophy and set of principles, popularized by Robert C. Martin, that emphasizes separation of concerns, testability, and independence from frameworks, databases, and user interfaces.
-
C.
Chain of Responsibility
Chain of Responsibility is a behavioral design pattern that decouples senders and receivers by passing a request along a chain of potential handlers until one of them processes it.
-
D.
Design Patterns: Elements of Reusable Object-Oriented Software
Design Patterns: Elements of Reusable Object-Oriented Software is a seminal software engineering book by the "Gang of Four" that catalogues foundational object-oriented design patterns widely used in software development.
-
E.
Refactoring: Improving the Design of Existing Code
"Refactoring: Improving the Design of Existing Code" is a seminal software engineering book by Martin Fowler that systematically defines refactoring techniques to improve code structure while preserving behavior.
- F. None of above. chosen
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
The pipeline generated the facts above by prompting gpt-5.1 with this entity's name + description and the instruction below.
You are a knowledge base construction expert. Given a subject entity and a description of it, return factual statements that you know for the subject as a JSON list of dictionaries(triples), where keys must be "subject", "predicate" and "object". The number of facts may be very high, between 25 to 50 or more, for very popular subjects. For less popular subjects, the number of facts can be very low, like 5 or 10. # Requirements - If you don't know the subject at all, return an empty list. - If the subject is not a named entity, return an empty list. - Include at least one triple where predicate is "instanceOf". - Do not get too wordy. - Separate several objects into multiple triples with one object.
Subject: Open-Closed Principle Description of subject: 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.
Referenced by (5)
Full triples — surface form annotated when it differs from this entity's canonical label.