SOLID / Object-Oriented Design

Kind: category

Record: architecture-category:solid-object-oriented-design

Canonical: Ontology

The SOLID / Object-Oriented Design category holds 5 architecture principles.

Listed in Principle categories, after Core Modular Design and before Event / Messaging / Asynchronous Architecture.

Principle

Layer

Linked from

SOLID / Object-Oriented Design

Every principle in this category is listed as a record. Each record carries its kind, its severity, the scopes it applies at and the layer it lives in, then the edge relations that join it to other records, the records that point back at it, the contracts that answer to it and the tensions it takes part in. The descriptors say how it is violated, detected, measured, repaired and enforced. Where the record carries one, an exemplar shows the shape before and after the principle is applied.

Relations diagram
The relations inside this category.
flowchart LR
    n_interface_segregation["Interface Segregation Principle (ISP)"]
    n_dependency_inversion["Dependency Inversion Principle (DIP)"]
    n_open_closed["Open/Closed Principle (OCP)"]
    n_liskov_substitution["Liskov Substitution Principle (LSP)"]
    n_polymorphism["Polymorphism"]
    n_liskov_substitution --> n_polymorphism
    n_polymorphism --> n_open_closed