MVC - 调用控制器方法

时间:2010-05-26 14:26:48

标签: model-view-controller view controller design-patterns

我的应用程序遵循MVC设计模式。我一直遇到的问题是需要从Controller类外部调用Controller类中的方法(例如,View类想要调用Controller方法,或者Manager类想要调用Controller方法)。在MVC中以这种方式调用Controller方法吗?如果它被允许,那么正确的方法是什么?

根据我所关注的MVC版本(似乎有很多不同的版本),View知道模型,而Controller知道View。这样做,我无法访问控制器。这是我找到的最好的网站,以及我正在关注的MVC版本:http://leepoint.net/notes-java/GUI/structure/40mvc.html。主程序代码块确实显示了它的工作原理。

感谢您的回答。

1 个答案:

答案 0 :(得分:1)

仔细查看您链接到的文章中的这一段:

查看 这个视图不知道控制器,除了它提供了注册Controller的监听器的方法。其他组织也是可能的(例如,Controller的侦听器是可以由View引用的非私有变量,View调用Controller来获取侦听器,View调用Controller中的方法来处理动作,......)。 p>

View和Controller之间有观察者模式。 MVC本身不是单一模式,而是至少两种模式组合。

了解管理视图/控制器通信的一种方法是使用事件。 View会触发某些用户操作的事件(不知道是谁可以处理它们。)Controller会处理这些事件并采取相应的行动。