Принцип единственной обязанности (SPR, Single Responsibility Principle)
Принцип единственной обязанности обозначает, что каждый объект должен иметь одну обязанность и эта обязанность должна быть полностью инкапсулированна в классе.
Связность (cohesion) — характеристика внутренней взаимосвязи между частями одного модуля.
Связанность (coupling) — степень, в которой программный модуль зависит от других модулей.
Нужно стремиться к слабой связанности и сильной связности модулей.
- Изменения в требованиях обычно влекут за собой изменение обязанностей
- Чем больше обязанностей у класса — тем больше вероятность его изменения
- Несколько обязанностей в пределах одного класса делают эти обязанности взаимозависимыми
- Чем больше классов затронет изменение, тем больше вероятность появления ошибок