Liskov Substitution Principle
E232907
The Liskov Substitution Principle is an object-oriented design rule stating that objects of a superclass should be replaceable with objects of a subclass without altering the correctness of a program.
All labels observed (1)
| Label | Occurrences |
|---|---|
| Liskov Substitution Principle canonical | 3 |
How this entity was disambiguated
This entity first appeared as the object of triple T2092662 — 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: Liskov Substitution Principle Context triple: [Agile Software Development, Principles, Patterns, and Practices, explainsConcept, Liskov Substitution 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.
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.
-
C.
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.
-
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.
Linus’s Law
Linus’s Law is the open-source software development principle that “given enough eyeballs, all bugs are shallow,” emphasizing the power of many reviewers to quickly find and fix defects.
- F. None of above. chosen
- G. Unsure - the case is ambiguous/there is not enough information to decide.
Target entity: Liskov Substitution Principle Target entity description: The Liskov Substitution Principle is an object-oriented design rule stating that objects of a superclass should be replaceable with objects of a subclass without altering the correctness of a program.
-
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.
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.
-
C.
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.
-
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.
Linus’s Law
Linus’s Law is the open-source software development principle that “given enough eyeballs, all bugs are shallow,” emphasizing the power of many reviewers to quickly find and fix defects.
- F. None of above. chosen
Statements (45)
| Predicate | Object |
|---|---|
| instanceOf |
SOLID principle
ⓘ
object-oriented design principle ⓘ software engineering principle ⓘ |
| abbreviation | LSP ⓘ |
| aimsTo |
enable safe reuse of code
ⓘ
improve software maintainability ⓘ improve software robustness ⓘ |
| appliesTo |
API design
ⓘ
class hierarchies ⓘ interface implementations ⓘ |
| author |
Barbara Liskov
ⓘ
Jeannette M. Wing ⓘ
surface form:
Jeannette Wing
|
| category |
program correctness principle
ⓘ
software design rule ⓘ |
| contrastsWith | implementation inheritance without behavioral compatibility ⓘ |
| coreIdea | objects of a superclass should be replaceable with objects of a subclass without affecting program correctness ⓘ |
| emphasizes |
behavioral compatibility between supertype and subtype
ⓘ
what a subtype must guarantee to its clients ⓘ |
| field |
object-oriented programming
ⓘ
software design ⓘ |
| focusesOn |
behavioral subtyping
ⓘ
substitutability of types ⓘ |
| hasConsequence |
subtypes should not remove expected behavior of supertypes
ⓘ
subtypes should not strengthen method argument requirements ⓘ subtypes should not weaken method result guarantees ⓘ |
| influenced |
best practices for inheritance usage
ⓘ
modern object-oriented design guidelines ⓘ |
| introducedBy | Barbara Liskov ⓘ |
| introducedInContextOf | behavioral notion of subtyping ⓘ |
| namedAfter | Barbara Liskov ⓘ |
| partOf | SOLID principles ⓘ |
| publicationYear | 1994 ⓘ |
| relatedTo |
design by contract
ⓘ
inheritance ⓘ polymorphism ⓘ type safety ⓘ |
| requires |
invariants of a supertype must be preserved by its subtype
ⓘ
postconditions of a subtype must be at least as strong as those of its supertype ⓘ preconditions of a subtype must not be stronger than those of its supertype ⓘ subclasses must honor the contracts of their superclasses ⓘ |
| statedIn | A Behavioral Notion of Subtyping ⓘ |
| usedIn |
object-oriented programming languages
ⓘ
software architecture design ⓘ |
| violationsCause |
broken polymorphic behavior
ⓘ
unexpected runtime errors ⓘ |
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: Liskov Substitution Principle Description of subject: The Liskov Substitution Principle is an object-oriented design rule stating that objects of a superclass should be replaceable with objects of a subclass without altering the correctness of a program.
Referenced by (3)
Full triples — surface form annotated when it differs from this entity's canonical label.