D in the SOLID principles stands for Dependency Inversion Principle. The standard definition of Dependency Inversion Principle says:
1. High-level modules should not depend on low-level modules. Both should depend on abstractions.
I in the SOLID principles stand for Interface Segregation Principle. This states that no client should be forced to depend on methods it does not use. In other words, interface should be as simple and clean as possible. It should give the caller exactly what he/she needs. Don’t expose things they will not…
L in the SOLID principles stand for the Liskov substitution principle. It states that objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program.