听众放置坚持传统(非中介)MVC模式我正在Swing中实现一个程序,我在Swing中阅读了Nirmal对这种模式的实现,这似乎表明了对整个“职责分离”概念的相当优雅的处理。但是,由于我正在开发一个比Nirml发布的更复杂的程序,它由一个JFrame容器组成,我寻求指导如何正确实现MVC。我的程序将由子容器等组成。我很好奇Controller应该如何实现定义和分配View的所有侦听器背后的逻辑..或者如果为每个View组件定义侦听器的控制器是否实用?看来我在View的顶级容器中需要一个方法来允许Controller调用视图来向相关组件添加一个Listener?所以我需要一个方法链,每个方法都将侦听器从顶层容器传递到持有组件的直接容器。最后用容器调用addActionListener()就可以了。这是在MVC中处理侦听器的正确方法吗?是否在MVC中强制控制View中每个组件的所有侦听器,或者是一种有用的实践?这也意味着我在顶级容器(View)中创建方法,以便为Controller提供一种方法,将侦听器分配给子容器中的每个组件?
3 回答
心有法竹
TA贡献1866条经验 获得超5个赞
作为个人抓地力,我将避免从控制器提供对视图组件的任何访问,因为这表明实现必须遵守实现可能不需要/不需要的特定合同。相反,定义一个视图是gurentees的动作/属性/回调,并让实现弄清楚如何实现这一点
添加回答
举报
0/150
提交
取消