SRP
Принцип единственной ответственности | Single Responsibility Principle | SRP

SRP звучит так:
Существует лишь одна причина, приводящая к изменению класса.
Ответственность – это причина изменения кода.
Если при изменении кода, отвечающего за одну ответственность, в приложении появляются исправления кода, отвечающего за другую ответственность – есть нарушения SRP.
Антипаттерн – божественный объект.
Пример нарушения SRP
class Employee {
/**
* 1-я ответственность
*
* Бизнес-логика
*/
calculatePay () {
// ...
}
/**
* 2-я ответственность
*
* Управление сохранением
*/
save () {
// ...
}
}
От класса Employee зависят сразу 2 актора:
бухгалтерия (метод calculatePay)
администраторы БД (метод save)
Бизнес-логика по природе своей изменяется довольно часто. Механизмы сохранения изменяются гораздо реже и совсем по другим причинам.
Last updated
Was this helpful?