[Design Patterns] SOLID Principles

✓ Single Responsibility Principle

There should never be more than one reason for a class to change

✓ Open-Closed Principle

Software entities(classes, modules, methods etc.) should be open for extension, but closed for modification.

✓ Liskov Substitution Principle

We should be able to substitute base class objects with child class objects and this should not alter behavior/characteristics of program.

✓ Interface Segregation Principle

Clients should not be forced to depend upon interfaces that they do not use.

✓ Dependency Inversion Principle

High level modules should not depend upon low level modules. Both should depend upon abstractions.
Abstractions should not depend upon details. Details should depend upon abstractions.

Backend & Blockchain Developer