更多摆动设计和动作

我对gui编程很新,所以我一直在阅读这个网站上有关摇摆和设计的每个post。 一遍又一遍地回答的是,人们应该为这些行动设置多级课程。 像这样:( GUI是一些JFrame

替代文字http://img341.imageshack.us/img341/255/skjermdump.png

现在,这对单向操作很有用,比如OpenDialog。 但是DialogAB按钮的操作必须能够访问其对话框和controller所有组件(将会有很多组件)。 这就是我陷入困境的地方。

我能看到的唯一理智的方法是把它放在DialogA/B 我需要将controller一直向下传递,通过甚至不需要它的类,它会得到所有的意大利面条。 真的不想要那个。

以前有人肯定遇到过这个问题。 那么我应该把这个Action放在哪里? 或者我应该放弃整个设计?

编辑:从别处得到了一个很好的答案。 解决。

在MVC中,控制器和视图相互访问,控制器将视图与模型隔离开来。 最好的办法是将你的ActionHandler作为匿名类,让它只需回调你的视图,然后再调用控制器。
如果你真的想要一个拥有通用消息的Controller超类来发送消息并传入HashMap,那么你可以很好地分离代码,但会增加复杂性并删除类型检查。