我在设计我正在尝试开发的应用程序的体系结构时遇到了一些麻烦.我正在研究JAVA,我开始研究这个应用程序,因为我想加深我对JAVA,架构和模式的整体了解.我想按照指南来制作一个可重用,低耦合的应用程序,就像它应该的那样.该应用程序只有一个JFrame,但在其中有几个JPanel,每个JPanel代表一个应用程序的模块.
问题是:在JAVA Swing中,如何实现适当的MVC模式?我在如何理解它应该如何完成的方式上挣扎.
我是否应该拥有一个主控制器类,它包含对所有其他控制器的引用?(我有一张图片来证明这一点,在这里:https://docs.google.com/file/d/0B7tBdn5slIFeY2FoSmxESTREQ1k/edit?usp =sharing)
在这种情况下,是否所有需要更改正在呈现的模块的事件都会重定向到主控制器?
或者我应该将JFrame与应用程序的控制器耦合,并直接与它们通信?
基本上,我想知道我是否需要一个"管理"所有其他课程.我已经阅读了几个解释和不同的意见,但我相信这有点具体.
希望我已经清楚了(并希望我的解释比我的绘图更好:)).
编辑: 应用程序用法的示例:
菜单(View)是否应该拥有自己的Controller,并且此Controller与JFrame通信?JFrame将新模块加载到它的布局中?或者JFrame应该有自己的控制器(或模型,如Gilbert Le Blanc所说)?
我知道这可能看似具体,或易于理解,但每当我想到桌面应用程序时,我都很难理解这一点.