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

AIDA Model
AIDA Model The AIDA model is a model, where a persona moves through a series of steps to make a purchase decision, used in marketing, sales, planning...
STEEPLED STEEPLED - Social, Technological, Economical, Environmental, Political, Legal, Ethical and additional compared to STEEPLE is Demographic.
BLUF - Bottom Line Up Front
BLUF - Bottom Line Up Front BLUF is a framework for declaring the purpose of the message and the action required. It should provide the most important information.
Transactional Analysis
Transactional Analysis Transactional Analysis is a psychoanalytic theory and method of therapy. A personality is made up of three ego states: Parent, Adult, Child.
Conflict styles
Conflict styles There are different strategies for managing conflicts. Categorizing conflict styles enable learning and appropriate usage of these styles
WRAP Decision-Making
WRAP Decision-Making The WRAP model for decision-making helps us to be aware of and avoid decision-making biases like Outcome, Cognitive & Confirmation Bias.
MVP Types
MVP Types Minimum Viable Product (MVP) is a simple product with only a minimal set of features to enable testing with real users. That can be achieved using various types of MVPs.
Lean Startup
Lean Startup The Lean Startup is an approach for creating and sustaining a successful startup. Short business-hypothesis-driven development cycles.
SCARF SCARF Model represents five areas influencing human behavior. The human brain wants to minimize danger or maximize reward which activate respective responses. It explains and helps to deal with human reactions, motivations, and interactions. Description Reward state activators Threat state activators Status Relative importance to others, personal worth Positive and mutual feedback, public acknowledgment Critique,...
Westrum Organizational Culture
Westrum Organizational Culture Westrum Organizational Culture The organizational culture predicts the information flow in an organization. Good information answers the questions that need to be answered in a timely manner and the receiver can effectively use it. Good information flow is critical to be safe and effective in high-tempo and high-consequence environments. Culture Pathological Bureaucratic Generative Description Fear...