Introduction
S - Single Responsibility Principle - Class should have a single responsibility or purpose. O - Open-Close Principle - Classes and module should be open for extension and closed for modification. It means that you shoulld be able to extend the behaviour of a class without modifying its exustingcde. We can apply this by using abstration , interfaves and inheritance.
L - Liskov Constitution PRinciple - The LP states that the object if the suerclass should be replacale with ojects of the subclass without affescting the correctness of the program.
I - Interface Segrefation Principle - ISP states that client should not be forces to depend oninterace thet dont use.
D - Dependency Inversion Priciple - DIP - The high level modules or classes should bot depend on low level modules or classes directly.