Design Principle [SOLID]
Initial Stands for (acronym) Concept S SRP Single responsibility principle a class should have only a single responsibility. O OCP Open/closed principle “software entities … should be open for extension, but closed for modification”. L LSP Liskov substitution principle “objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program”. See also design by contract . I ISP Interface segregation principle “many client-specific interfaces are better than one general-purpose interface.” [5] D DIP Dependency inversion principle one should “Depend upon Abstractions. Do not depend upon concretions.” [5] Dependency injection is one method of following this principle.