您的位置:首页 > 其它

MVC模式

2015-08-31 20:29 253 查看
模型利用“观察者”让控制器与视图可以随最新的状态的改变而改变。另一方面,视图和控制器则实现了“策略模式”。控制器是视图的行为,如果你希望有不同的行为,可以直接换一个控制器。视图内部使用组合模式来管理窗口、按钮以及其他的显示组件。

模型与视图应该是观察者模式,模式数据与状态发生变化,可以通知视图进行改变,一个模型可以控制多个视图。控制器与视图、模型是策略模式,控制器实现某个接口,将算法封装,实现的方法里面通过调用视图与模型的方法实现控制,这样控制器的算法与视图、模型解耦。

做法:视图是观察者,模型作为主题将视图注册,模型数据有变化就通知视图做相应改变。控制器封装了客户的算法(实现了客户相要的操作接口),将模型视图传入控制器,调用模型或视图的方法,从而实现了客户的算法,客户通过调用控制器直接控制视图,或者通过控制器调用了模型来影响视图,视图上的响应结果(如事件的监听),然后通过控制器选择模型处理,模型处理后影响视图。

另一个说法;视图的响应通过调用控制器选择不同模型做逻辑流程处理,每个模型做完后对事物造成影响,最终完成后控制器控制视图的改变。这样的好处是每个模型都是独立开来的,对视图的操作,以及视图的影响都在控制器层。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: