我当前的应用程序有一个JFrame,其中大约有15个操作存储为JFrame中的字段.每个动作都是一个匿名类,其中一些是很长的.
在一个名为actions的子包中,将操作分解为自己的类是否常见?
如果没有,这种复杂性通常如何被驯服?
谢谢
如果你的行为可以重复使用(例如,从键盘快捷键,其他菜单,其他对话框等),特别是如果它们可以直接在底层模型上工作(而不是在UI上),那么通常会更好不要将它们作为匿名类.
而是创建一个单独的包,并为每个包创建类.
通常,不直接实例化这些也是有意义的,而是有某种管理器定义常量并初始化并返回操作集,以便您可以,例如,在不同版本提供不同的操作集或仅设置某些操作内部版本.
最后,检查您的操作是否可以重构为类层次结构.他们经常能,既节约了代码复制,并可以帮助您添加的鲁棒性(例如,让动作执行之前检查某些条件下).