Каждый объект должен иметь одну ответственность и эта ответственность должна быть полностью инкапсулирована в класс. Все его поведения должны быть направлены исключительно на обеспечение этой ответственности.
объекту класса становится позволительно слишком много
любое изменение логики поведения объекта приводит к изменениям в других местах приложения, где это не подразумевалось изначально
приходится тестировать, исправлять ошибки, даже если за их работоспособность отвечает третья сторона
невозможно легко отделить и применить класс в другой сфере приложения, так как это потянет ненужные зависимости