Принцип єдиної відповідальності (Single Responsibility Principle - SRP) є одним із п’яти основних принципів SOLID і стверджує, що клас повинен мати лише одну причину для зміни. З іншими словами, клас повинен виконувати лише одну відповідальність або завдання.
Основна ідея цього принципу полягає в тому, щоб уникнути залежностей класу від занадто багатьох аспектів або функціональностей. Коли клас виконує лише одну відповідальність, він стає більш стабільним, зрозумілим та легко змінюваним.
Основні переваги SRP.
- Легше розуміння коду - якщо кожен клас має чітко визначену відповідальність, код стає більш зрозумілим, і нові розробники легше розібратися в ньому.
- Легше тестування - класи з однією відповідальністю можуть бути ефективно тестовані, оскільки їхню функціональність легко ізолювати.
- Зменшення взаємозалежностей - зменшуючи кількість відповідальностей класу, ми зменшуємо його взаємозалежність з іншими класами, що полегшує обслуговування та розширення системи.
- Зручніше внесення змін - коли ми маємо класи з однією відповідальністю, зміни в системі стають менш ризикованими, оскільки вони не впливають на широкий спектр функціоналу.
Наприклад, якщи у нас є клас, який відповідає за обробку даних і ще за їх збереження в базі даних, це може порушити SRP. Замість цього ми можемо розділити ці функціональності на два класи: один для обробки даних іншого для їх збереження. Це робить код більш чистим, зрозумілим і легко розширюваним.