Md Asiful Haque

Full Stack Dev | ASP.Net, Laravel, AngularJs, Flutter

Understanding and Implementing the Liskov Substitution Principle in Object-Oriented Programming

solid principle

The Liskov Substitution Principle (LSP) is a principle in object-oriented programming that states that objects of a superclass should be able to be replaced with objects of a subclass without affecting the correctness of the program. This principle is a part of the SOLID principles of object-oriented design. Here are three examples of LSP in … Read more

Do you REALLY know what SOLID means? (#5: Dependency Inversion Principle)

dependency inversion principle

Dependency Inversion Principle states that entities must depend on abstractions, not on concretions. It asserts that the high-level module must not depend on the low-level module; but they should depend on abstractions. It is one of the fundamental pillars of SOLID principles. But why the term inversion?traditionally, software structures had higher level modules depending on … Read more

Do you REALLY know what SOLID means? (#4: Interface Segregation Principle)

interface segragation principle

Interface Segregation The philosophy of Interface Segregation principle is – larger interfaces should be split into smaller ones. By doing so, we can ensure that implementing classes only need to be concerned about the methods that are of interest to them. The principle states that many client-specific interfaces are better than one general-purpose interface. Clients … Read more

Do you REALLY know what SOLID principles means? Think again! (#3: Liskov Substitution Principle)

Liskov Substitution Principle

Liskov Substitution Formal definition of Liskov substitution principle is –Let φ(x) be a property provable about objects x of type T. Then φ(y) should also be true for objects y of type S where S is a sub-type of T. Or we can say – If class A is a sub-type of class B, then … Read more

Do you REALLY know what SOLID principles means? Think again! (Part 2: O)

open closed principle

Open for Extension, Closed for Modification Classes should be open for extension, but closed for modification. By doing so, we stop ourselves from modifying existing code and causing potential new bugs. What Open Close Principle wants to say is – We should be able to add new functionality without touching the existing code for the … Read more