Является ли это плохим дизайном в значительной степени субъективной темой. Это зависит от ряда факторов. Без подробностей о вашем классе трудно сказать; возможно, ваш дизайн уже «хороший». Но позвольте мне предложить другой подход, возможно, это поможет вам определить, подходит ли ваш текущий дизайн для вас:
Причина, по которой вы применили все эти методы (которые вы можете логически разделить на категории) в один класс, скорее всего, потому, что им нужен доступ к тем же данным, которые вы сохранили в своих переменных экземпляра. Если нет, вы уже можете легко разбить класс вверх.
Если все эти методы нуждаются в доступе к тем же данным, другой подход должен заключаться в создании своего рода «контекстного» объекта, с геттером и сеттерами для необходимых данных. Затем вы можете создавать классы, содержащие методы, которые у вас есть в ваших категориях, и назначать каждому один и тот же контекст.
Возможно, вам необходимо, чтобы некоторые из этих классов сразу реагировали на изменения в классе контекста. Одним из решений может быть наблюдение за ключевыми значениями.
Но будьте осторожны: наличие 10 разных классов/объектов, которые вам нужно получить доступ во все время, может быть хуже, чем наличие одного большого класса.
какие разделы вы разделили код? возможно, подклассы были бы лучшим подходом. – wattson12
. Вы должны предоставить детали класса и то, что категории представляют для нас, чтобы предоставить содержательный совет. Это слишком абстрактно. – Rob