Article

SOLID Principles


Single-Responsibility Principle (SCP)

A class should have one, and only one, reason to change. An object should have only one responsibility (a reason to change). It is supposed to simplify modifications. The cohesion is stronger, dependency coupling is looser and the code is less complex.

Open-Closed Principle (OCP)

Entities should be open for extension, but closed for modification. Entity can be extended by adding what is needed, but it can never be modified. This significantly reduces the risk of breaking existing functionality and provides a looser coupling.

Liskov Substitution Principle (LSP)

Subtypes must be substitutable for their base types. The principle says that it is possible to use base type and get a correct result as the outcome. It can be said that the LSP confirmes abstractions are correct.

Interface Segregation Principle (ISP)

Classes that implement interfaces, should not be forced to implement methods they do not use. Big interfaces should be splitted into smaller ones so there are no methods that are not used implemented. Classes know only about methods related to them providing decoupling and easier modifications.

Dependency Inversion Principle (DIP)

High-level modules should not depend on low-level modules. Both should depend on abstractions. Abstractions should not depend on details. Details should depend on abstractions. This reduces dependencies in the code modules. Code is much more easier to maintain if abstractions and details are isolated from each other.

Similar posters

Maker's vs Manager's schedule
Maker's vs Manager's schedule The differences between a maker’s and a manager’s schedules stem from their respective workflows’ distinct nature. Makers rely on uninterrupted time blocks to tackle complex, creative problems requiring deep focus and sustained attention. Managers need flexibility to oversee multiple responsibilities, make decisions, and collaborate effectively across teams. As such, it is essential to thoughtfully assess...
Mission Statement
Mission Statement Long-term organization purpose, values and objectives. It should describe why it matters. This way it contributes to identity creation.
Value Stream Mapping
Value Stream Mapping The Value Stream Mapping is a Lean technique for managing flow and improving processes allowing to track the flow through a process.
Minto Pyramid
Minto Pyramid The Minto Pyramid Principle, a communication framework, advocates for a top-down approach to convey messages effectively
Spotify Health Check
Spotify Health Check The Spotify Health Check is a workshop, where teams assess their project and collaboration using 11 dimensions.
Maslow's Hierarchy Of Needs
Maslow's Hierarchy Of Needs Maslow's hierarchy of needs links basic human needs and desires, emphasizing that survival needs must be met before higher needs.
RACI Matrix
RACI Matrix RACI Matrix/Chart is the type of responsibility assignment matrix for effective work organization, communicating the responsibilities.
CEDAR Feedback
CEDAR Feedback CEDAR is a structured feedback model providing coaching opportunities via repeated revisiting and readjusting of the feedback and the goals.
STATIK Kanban
STATIK Kanban The Systems Thinking Approach To Introducing Kanban (STATIK) is a repeatable way to start with Kanban resulting in continuous improvement.
Data Model Canvas
Data Model Canvas The Data Product Canvas is a framework for developing data products based organized into 10 blocks within 3 domain areas.