SOLID в программировании — мнемонический акроним, введённый Майклом Фэзерсом для первых пяти принципов, названных Робертом Мартином в начале 2000-х, которые означали 5 основных принципов объектно-ориентированного программирования и проектирования.
При проектировании и создании программного обеспечения имплементирование принципов SOLID позволяет создовать легкоподдерживаемою, расширяемую и гибкую систему.
SOLID - руководство для проектирование и musthave методология для Объектно Ориентированного Программирования.
- S (SRP) / Single Responsibility Principle - Принцип единственной ответственности
- O (OCP) / Open–Closed Principle - Принцип открытости/закрытости
- L (LSP) / Liskov Substitution Principle - Принцип подстановки Лисков
- I (ISP) / Interface Segregation Principle - Принцип разделения интерфейса
- D (DIP) / Dependency Inversion Principle - Принцип инверсии зависимостей
- Принцип единственной ответственности - Модуль должен иметь одну и только одну причину для изменения.
- Принцип открытости/закрытости - Должна иметься возможность расширять поведение программных сущностей без их изменения (путем наследования).
- Принцип подстановки Лисков - Наследующий класс должен дополнять, а не изменять базовый (наследование).
- Принцип разделения интерфейса - Много интерфейсов, специально предназначенных для клиентов, лучше, чем один интерфейс общего назначения (прочь избыточность).
- Принцип инверсии зависимостей - Зависимость на Асбракциях, а не на реализации.