视图和控制器彼此不可见?怎么会这样?

时间:2011-03-18 13:58:01

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

我已经读过,视图和控制器应该彼此不可见。

然后控制器如何在UI视图中侦听按钮单击?

当然,控制器需要知道addEventListeners 的视图,UI视图需要调用控制器中的函数,或者将事件分派给控制器。

1 个答案:

答案 0 :(得分:0)

我对MVC的唯一体验是使用robotlegs框架,所以我会在使用这个框架时尝试解释我的方法

我的视图仅使用在视图的介体中侦听的本机flash事件(MouseEvent.CLICK等)。当介体接收到本机事件时,它将调度一个特定于应用程序的事件,例如LoginEvent.LOGIN,可以映射到该事件,然后使用上下文中的命令映射来发出命令。

很抱歉,如果这没有多大意义,但基本上您的视图会触发本机事件,您的调解员将侦听这些本机事件,然后触发特定于应用程序的事件,这些事件又会运行您的命令。您可以使用中介作为视图的“耳朵”,并保留其中的任何逻辑。应用程序上下文允许您在发生特定事件时触发命令,以便分离视图和命令。