Arquitectura de Java - Pregunta sobre las convenciones de ActionListener

Estoy haciendo una interfaz de usuario que muestra gráficos y manipula gráficos. La clase extiende JFrame implementa ActionListener. El ActionListener luego llama a diferentes clases para manipular gráficos dependiendo de la acción. Esto funcionó mientras que la clase tenía pocos ActionListeners; Sin embargo, ahora la clase se está volviendo inmanejable.

Sé que en aras de la encapsulación, sería mejor tener el ActionListener dentro de la clase de interfaz de usuario porque necesita acceder a componentes no estáticos de la interfaz. Sin embargo, parece que hay un conflicto entre la encapsulación y la legibilidad.

Lo que propongo es dividir la clase en una clase para la interfaz y una segunda para el ActionListener y acceder a los componentes de la interfaz de forma estática. Lo que quiero saber es si esto sigue las convenciones de diseño básicas. Y, si este es un enfoque aceptable, ¿ubicaría la clase principal en la clase de interfaz de usuario o en la clase ActionListener?

Respuestas a la pregunta(1)

Su respuesta a la pregunta