Принципы SOLID
Принципы объектно‑ориентированного программирования SOLID необходимы, при создании функционального, поддерживаемого длительное время ПО на основе объектно‑ориентированного программирования (ООП).
Основные принципы SOLID:
- Единственная ответственность (англ. Single responsibility principle или SRP) - каждый объект имеет только одну ответственность (цель), которая в свою очередь должна быть представлена отдельным классом. К примеру, извлечение данных из базы и последующая их валидация должны иметь разные классы для того, чтобы эти два процесса не смешивались друг с другом.
- Открытость / закрытость (англ. Open-closed principle или OCP) - классы должны быть открыты для изменения и дополнения новыми задачами и в то же время закрыты для изменения основного кода. Следовательно, в класс можно добавить другие модули и функции, но исходный код должен оставаться неизменным.
- Замена Лисков (англ. Liskov substitution principle или LSP) - все созданные потомки должны сохранять и демонстрировать поведение (выполняемые задачи) их родителя.
- Разделение интерфейса (англ. Interface segregation principle или LSP) - большие интерфейсы необходимо разделять на более мелкие и узконаправленные, чтобы не загружать пользователей лишней информацией.
- Инверсия зависимостей (англ. Dependency inversion principle или DIP) - объекты верхних уровней, например, классы, не должны зависеть от модулей нижних уровней, однако все они должны зависеть от абстракций.
Смотрите также
-
принцип
DRY
,
который разделение ПО на мелкие компоненты -
принцип
KISS
,
который предполагает отказ от усложнения ПО -
принцип
YAGNI
,
который предполагает отказ от избыточной функциональности ПО -
принцип
CQS
,
который задает для каждой функции только одну команду -
принцип
LoD
,
который применяется при разработке ПО -
принцип разделения ответственности,
который применяется при разработке ПО