SOLID-принципы
Пять принципов проектирования для объектно-ориентированного программирования, способствующих поддерживаемому, гибкому и понятному коду: Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, Dependency Inversion.
Определение
SOLID — это акроним для: Single Responsibility (класс должен иметь одну причину для изменения), Open-Closed (открыт для расширения, закрыт для модификации), Liskov Substitution (подтипы должны быть заменяемы базовыми типами), Interface Segregation (много специфичных интерфейсов лучше одного общего), Dependency Inversion (зависеть от абстракций, не от конкретики). Эти принципы были продвинуты Robert Martin.
Почему это важно
SOLID-принципы снижают связанность, увеличивают сцепление и делают код проще тестировать, поддерживать и расширять. Нарушения часто ведут к хрупкому коду, где изменения каскадируют неожиданно.
Пример
Нарушение Single Responsibility: UserService обрабатывает аутентификацию, операции с БД и отправку email. Следуя SOLID: отдельные классы AuthService, UserRepository, EmailService.