Каковы принципы SOLID?
Это набор рекомендаций для проектирования, направленных на улучшение поддерживаемости и масштабируемости программного обеспечения.
Происхождение
Принципы SOLID были введены Робертом К. Мартином, также известным как Дядя Боб, в его работах по объектно-ориентированному дизайну в начале 2000-х. Эти принципы представляют собой компиляцию пяти дизайнерских концепций, помогающих разработчикам создавать программные системы.
Определение
SOLID — это аббревиатура, обозначающая пять принципов дизайна в объектно-ориентированном программировании: Принцип единственной ответственности (Single Responsibility), Принцип открытости/закрытости (Open/Closed), Принцип подстановки Лисков (Liskov Substitution), Принцип разделения интерфейса (Interface Segregation) и Принцип инверсии зависимостей (Dependency Inversion).
Цель
Эти принципы предоставляют рамки для проектирования программного обеспечения, которое легко поддерживать, понимать и расширять, позволяя разработчикам избегать общих ошибок в дизайне и архитектуре.
Принцип единственной ответственности (SRP)
Класс должен иметь только одну причину для изменения.
Принцип открытости/закрытости (OCP)
Программные сущности должны быть открыты для расширения, но закрыты для модификации.
Принцип подстановки Лисков (LSP)
Объекты суперкласса должны быть заменяемы объектами его подклассов без влияния на функциональность.
Принцип разделения интерфейса (ISP)
Множество специфических для клиента интерфейсов лучше, чем один универсальный интерфейс.
Принцип инверсии зависимостей (DIP)
Высокоуровневые модули не должны зависеть от низкоуровневых модулей; оба должны зависеть от абстракций.