SOLID
Эффективный алгоритм – основа работы эффективного программного обеспечения. Когда алгоритм уже есть, следующая задача – сделать так, чтобы ПО было разработано с использованием лучших методов проектирования и лучшей архитектуры. Специалисты, исследователи и эксперты определили лучшие практики эффективного проектирования программных приложений. Одной из наиболее популярных среди них являются принципы проектирования, известные под аббревиатурой SOLID. Самыми известными и важными считаются принципы проектирования, предложенные Робертом К. Мартином (также известным как Дядя Боб). Дядя Боб представил много разных принципов проектирования, однако самых популярных всего 5, сокращенно их называют SOLID-принципами. В основном они сфокусированы вокруг объектно-ориентированной парадигмы проектирования ПО. Если учитывать эти рекомендации при разработке объектно-ориентированного ПО, код станет не таким сложным, снизится риск поломок, улучшится взаимодействие между различными объектами и код станет более гибким, читаемым и управляемым.
SOLID-принципы Дяди Боба расшифровываются следующим образом:
S – Принцип единственной ответственности (Single Responsibility Principle),
O – Принцип открытости/закрытости (Open‐Closed Principle),
L – Принцип подстановки Барбары Лисков (Liskov Substitution Principle),
I – Принцип разделения интерфейсов (Interface Segregation Principle),
D – Принцип инверсии зависимостей (Dependency Inversion Principle).