Один класс, который знает или делает слишком много (проверка, сохранение, бизнес-логика, форматирование), вместо того, чтобы распределять обязанности между целенаправленными сотрудниками. Его можно узнать по симптомам — класс, импортируемый большей частью кодовой базы, и каждая несвязанная функция, кажется, требует прикосновения — а не по количеству строк.
Пример
// Classic GoF Singleton: enforced by the class itselfpublicclassConfigManager {
privatestaticfinalConfigManagerINSTANCE=newConfigManager();
privateConfigManager() {} // private constructor blocks any other instantiationpublicstaticConfigManagergetInstance() { return INSTANCE; }
}
Итог
Один класс, который знает или делает слишком много (проверка, сохранение, бизнес-логика, форматирование), вместо того, чтобы распределять обязанности между целенаправленными сотрудниками.
Что такое объект Бога и почему он нарушает принцип единой ответстве… · Sobeso