我正在读一篇关于使用Java的模型-视图-控制器(MVC)的开创性文章(这里很多人在讨论MVC时已经提到了它)。
http://www.oracle.com/technetwork/articles/javase/mvc-136693.html
基本上,它呈现了一个修改过的MVC流,模型将通知发送到控制器(而不是传统的方式中的View )。然后,控制器将通知传递给View以进行界面更新,或者解释用户交互的命令并发送回Model。
我有一个关于Controller和View协同工作方式的问题。在本文中,作者在他的两个视图中都引用了Controller,并在这些视图中直接调用了Controller的方法。我想知道它背后的理性。为什么他不在控制器中实现一些ActionListeners,并让视图中的交互小部件向这些侦听器发送信号?
谢谢你的帮助。
发布于 2012-04-10 03:29:15
这是一个耦合问题。
如果你的视图有一个对它的控制器的引用,它被耦合到控制器。如果您不希望视图使用不同的控制器,则可以这样做。使用直接访问,可以更轻松地跟踪各种代码路径。
如果您实现了一个操作侦听器模式,那么您将解耦视图和控制器。视图和控制器可以独立存在,您可以对同一视图使用不同的控制器。
https://stackoverflow.com/questions/10077584
复制相似问题