SOLID

  1. Single responsibility: a class should have 1 job
  2. Open-closed principle: Open for extension but closed for modification
  3. Liskov Substitution Principle: every subclass of a class should be able to substitute for its parent ^2c2ce6
  4. Interface Segregation Principle: A client should never be fored to implement an interface that it doesn't use
  5. Dependency Inversion Principle:
  • High level module and low level modules should interact through abstraction rather than depending on each other.
  • For example A talks to B interface rather than B directly

Pasted image 20230910090307.png