What is Design Pattern in Object Oriented Design?

Posted on by

Designing object-oriented software is difficult, and structuring a reusable object-oriented software is even harder. Mainly while you are designing an object-oriented software you have to keep in mind that your design should be specific to the problem at hand but also general enough to address future problems and requirements. You also want to avoid redesign,…

(DIP) Dependency Inversion Principle

Posted on by

Def:A. High level modules should not depend upon low level modules. Both should depend upon abstractionsB. Abstractions should not depend upon details. Details should depend upon abstractions The Dependency Inversion Principle, the last of the Uncle Bob “SOLID” object-oriented design principles, can be thought of the natural progression of the Liskov Substitution Principle, the Open…

(LSP) Liskov Substitution Principle

Posted on by

Def: Functions that use … references to base classes must be able to use objects of derived classes without knowing it A case study in LSP ignorance: The problems that LSP solves are almost always easily avoidable. There are some usual tell-tale signs that an LSP-violation is appearing in your code. Here’s a scenario that…

(OCP) Open Closed Principle

Posted on by

Def: Software entities (Classes, Modules, Functions, etc.) should be open for extension but closed for modification It is one of the oldest principles of Object Oriented Design. I will not bore you with the history since you can find countless articles out on the internet. The open/closed principle states as per its definition; that is,…

Positive SSL