SOLID — п'ять принципів об'єктно-орієнтованого дизайну, сформульованих Робертом Мартіном. Разом вони описують, як писати код, який легко читати, тестувати і змінювати.
П'ять принципів
S — Single Responsibility — клас повинен мати лише одну причину для зміни. Клас UserService не повинен одночасно надсилати email і зберігати в БД
O — Open/Closed — відкритий для розширення, закритий для модифікації. Додавайте нову поведінку через нові класи, не змінюючи старі
L — Liskov Substitution — дочірній клас має бути замінником батьківського без зміни поведінки програми
I — Interface Segregation — краще кілька вузьких інтерфейсів, ніж один широкий. Клієнт не повинен залежати від методів, які не використовує
D — Dependency Inversion — залежте від абстракцій, а не від конкретних реалізацій