/JAN21-SOLID

Solid principles

Primary LanguageJava

SOLID Principles

Each of the 5 solid principles are stored within their own package:

  • Single Responsibility Principle: solid.srp/
  • Open/Closed Principle: solid.ocpenclosed/
  • Liskov Subsititution Principle: solid.liskov/
  • Interface Segregation Principle: solid.interfaceseg/
  • Dependency Inversion Principle: solid.depinv/

High Level Overview:

  • Single Responsibility - the notion that one class has one responsibility!
  • Open closed - Open for extension, closed for modification!
  • Liskov Substituion - Base and Derived classes should be able to be swapped without knowing it
  • Interface Segregation - Code shouldn't be forced to depend on methods it doesn't use.
  • Dependency Inversion - High level objects shouldn't depend on low level objects, but should use abstractions.