Для эффективной разработки приложений требуется соблюдать некоторые общепринятые правила, принципы и конвенции. Один из таких принципов — SOLID.
О принципах SOLID хорошо рассказывает на своём канале Сергей Немчинский
Принцип SRP (Принцип единственной ответственности, Single Responsibility Principle)
Принцип OCP (Открытости/закрытости (Open Closed Principle)
Принцип подстановки Барбары Лисков/ LSP (The Liskov Substitution Principle)
Принципа ISP (Принцип Разделения Интерфейса (The Interface Segregation Principle)
Принцип DIP (Принцип инверсии зависимостей (The Dependency Inversion Principle)