Архитектура Java - вопрос о соглашениях ActionListener

Я делаю пользовательский интерфейс, который показывает графики и манипулирует графиками. Класс расширяет JFrame, реализует ActionListener. Затем ActionListener вызывает различные классы для управления графиками в зависимости от действия. Это работало, пока в классе было мало ActionListeners; однако теперь класс становится неуправляемым.

Я знаю, что в интересах инкапсуляции было бы лучше иметь ActionListener в классе пользовательского интерфейса, потому что ему нужен доступ к нестатическим компонентам интерфейса. Однако, похоже, что существует конфликт между инкапсуляцией и читабельностью.

Я предлагаю разделить класс на один класс для интерфейса и второй для ActionListener и получить статический доступ к компонентам интерфейса. То, что я хочу знать, это соответствует основным соглашениям дизайна? И, если это приемлемый подход, вы бы поместили основной класс в класс пользовательского интерфейса или класс ActionListener?

Ответы на вопрос(1)

Ваш ответ на вопрос