Про принцип єдиної відповідальності (Single Responsibility Principle - SRP)

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

Основна ідея цього принципу полягає в тому, щоб уникнути залежностей класу від занадто багатьох аспектів або функціональностей. Коли клас виконує лише одну відповідальність, він стає більш стабільним, зрозумілим та легко змінюваним.

Основні переваги SRP.

  1. Легше розуміння коду - якщо кожен клас має чітко визначену відповідальність, код стає більш зрозумілим, і нові розробники легше розібратися в ньому.
  2. Легше тестування - класи з однією відповідальністю можуть бути ефективно тестовані, оскільки їхню функціональність легко ізолювати.
  3. Зменшення взаємозалежностей - зменшуючи кількість відповідальностей класу, ми зменшуємо його взаємозалежність з іншими класами, що полегшує обслуговування та розширення системи.
  4. Зручніше внесення змін - коли ми маємо класи з однією відповідальністю, зміни в системі стають менш ризикованими, оскільки вони не впливають на широкий спектр функціоналу.

Наприклад, якщи у нас є клас, який відповідає за обробку даних і ще за їх збереження в базі даних, це може порушити SRP. Замість цього ми можемо розділити ці функціональності на два класи: один для обробки даних іншого для їх збереження. Це робить код більш чистим, зрозумілим і легко розширюваним.