这是摘要
[TOC]
模型 - 视图 - 控制器
-
控制器
取得用户的输入并解读其对模型的操作
-
模型
持有所有的数据、状态和程序逻辑。模型没有注意到视图和控制器,虽然它提供了操纵和检索状态的接口,并发送装填改变通知给观察者
-
视图
用来呈现模型。视图通常直接从模型中取得他需要显示的数据和状态
-
用户 - 与vIew交互
view是model的窗口。当你对view做一些事时,view就告诉controller你做了什么。controller负责处理。
-
controller要求model变更状态
controller解读你的动作。比如你按下某个按钮,controller会理解这个动作的意思,并告知模型如何做出对应的动作。
-
controller也可能要求view做改变
当controller从view接收到某一动作,结果可能是它也需要告诉view改变其结果。比如,controller可以将界面上的某些按钮或菜单项变成有效或无效(嗯?为什么不让model改变状态再通知?)
-
当model状态改变时,model会通知view
不管你做了某些动作,还是内部有了某些改变,只要当model内的东西改变时,model都会通知view它的状态改变了
-
view向model查询状态
view直接从model取得它显示的状态。比方说,当model通知view新歌开始播放,view向model查询歌名并显示出来。当controller请求view改变时,view也可能向model查询某些状态。
关于模式
- model利用观察者模式让controller和view可以随最新的状态改变而更新。
- view和controller则实现策略模式。controller是view的行为,如果希望有不同的行为,可以直接更换一个controller
PREVIOUSOAuth 2.0 机制和使用
NEXTspring framework