SOLID in Software Designing


How Can We DO That???🤔

Using the help of abstract classes and interfaces, we can add new functionality without touching the existing code for the class.

  • perform basic functionalities of the base class when extended
  • not have unimplemented methods
  • not give different meaning to the base class after overriding
  1. Higher level modules should not depend on lower level modules but they should depend on abstractions.
  2. Abstractions should not depend on details. Details (i.e. concrete implementations) should depend on abstractions.


We just briefly learned what is SOLID in software engineering.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store