Some of the Key factors that need to consider while architecting or designing a software solution is Reusability, Extensibility. Many times you might have gone through various tutorials on SOLID software design principles. Don’t mind… let me put it here again on my words and my understanding. The key behind any good software design is […]
What is Single Responsibility Principle (SRP) in SOLID Design Priciples?
The Single Responsibility Principle (SRP), also known as the Singularity Principle, is a software design principle that states that a class should have only one reason to change. That is, by Single Responsibility Principle each class should have only one responsibility, and that responsibility should be entirely encapsulated by the class. The Singularity Principle is […]
What is the Liskov Substitution Principle(LSP) in SOLID Design Principles?
Liskov substitution principle is named after Barbara Liskov, a computer scientist who first formulated the principle in 1987. It is one of the five SOLID principles of object-oriented design, which are widely used guidelines for writing clean and maintainable code. The Liskov substitution principle is a concept in object-oriented programming that states that if a […]
Dependency inversion principle(DIP) in SOLID Design
The Dependency Inversion Principle (DIP) is a software design principle in object-oriented programming that states that high-level modules or classes should not depend on low-level modules or classes. Instead, both should depend on abstractions or interfaces. In simpler terms, the DIP suggests that the way you design your software should not depend on the details […]
What is the Open Closed Principle in SOLID Design Principles?
In this article, we will see the open closed principle, one of the SOLID design principles, in detail. Open-Closed Design Principle (OCP) The Open-Closed Design Principle (OCP) is a software development principle that states that software entities should be open for extension but closed for modification. That means, software should be designed in a way […]