Single responsibility principle — Принцип единственной ответственности
Каждый класс/метод должен иметь только одну причину для изменения. То есть выполнять только одну задачу. Весь код, который меняется по этой причине, должен быть собран в этом модуле.
Каждый объект должен иметь одну ответственность и эта ответственность должна быть полностью инкапсулирована в класс. Все его поведения должны быть направлены исключительно на обеспечение этой ответственности.