交互式系统(MVC模式)
下面情境描述了MVC的动态行为。处于简化的目的,这些示意图中只有一对视图-控制器
情境1 用户输入导致模型发生变化,进而触发变更传播机制
控制在其事件处理过程中接受用户输入、对事件进行解读并激活模型的服务过程。
模型执行请求的服务,导致其内部数据发生变化。
模型通知所有向变更传播机制注册了的视图和控制器,即调用他们的更新过程。
每个视图都向模型请求修改后的数据,并在屏幕上重新显示自己。
每个已注册的控制器都从模型哪里获取数据,以启用或禁用某些功能。例如,模型的数据被修改后,可能启用将数据存盘的菜单项。
原来的控制器重新获取控制权,并从事件处理过程返回。
情境2 初始化MVC模式中的组件。这种代码通常不在模型、视图和控制器中,例如,可能位于主程序中。每次打开模型的视图都将以类似的方式初始化视图和控制器。初始化组建的步骤如下:
创建模型实例,随后该实例将初始化其内部数据结构。
创建一个视图对象。这将把指向模型的引用作为参数,以便初始化视图。
视图调用关联(attach)过程,向模型的变更传播机制注册。
视图创建控制器,以继续完成初始化工作。它将指向模型和自己的引用传递给控制器的初始化过程。
控制器也调用关联过程,向变更传播机制进行注册。
初始化完成之后,应用程序开始处理事件。
相关推荐
worldsnow 2020-11-06
csdnxingyuntian 2020-11-02
丽丽 2020-10-30
bluecarrot 2020-09-17
哈嘿Blog 2020-08-16
qidiantianxia 2020-08-16
84931231 2020-07-30
ChenRuiyz 2020-07-26
yanqianglifei 2020-07-07
wbczyh 2020-07-05
BOBShe 2020-07-03
yang0cs 2020-06-28
fushilin 2020-06-28
清水寺小僧 2020-06-25
uileader 2020-06-21
wangyangsoftware 2020-06-16
cleanerxiaoqiang 2020-06-16
xuguiyi00 2020-06-14