Si es posible que sus acciones puedan ser reutilizables (por ejemplo, desde accesos directos de teclado, otros menús, otros diálogos, etc.) y especialmente si pueden trabajar directamente en el modelo subyacente (en lugar de en la interfaz de usuario), generalmente es mejor no tenerlos como clases anónimas.
Más bien, cree un paquete separado y cree clases para cada uno.
A menudo, también tiene sentido no crear instancias directamente, sino tener algún tipo de administrador que defina constantes e inicialice y devuelva conjuntos de acciones, para que pueda, por ejemplo, ofrecer diferentes conjuntos de acciones en diferentes versiones o establecer ciertas acciones solo para lanzamientos internos.
Finalmente, verifique si sus acciones pueden refactorizarse en una jerarquía de clases. A menudo pueden, lo que ahorra la replicación del código, y también le ayuda a agregar robustez (por ejemplo, verificar ciertas condiciones antes de dejar que la acción se ejecute).
Creo que tal vez como alternativa o además del ActionManager, las acciones son buenas candidatas para ser inyectadas en una vista, usando por ejemplo Spring. – ktulinho