SOLID-Principles Single responsibility Open to extension, closed to modification Liskov substitution Interface segregation Dependency inversion