13.8 小结
应用软件一般都包含界面、业务逻辑和业务数据。MVC设计模式把软件应用分为视图、控制器和模型3个模块,或者说3个层次。视图负责创建界面,并且在界面上展示数据,此外还能接收用户输入的数据。模型负责处理业务逻辑,模型一般会访问数据库,向数据库中查询、添加、更新或删除业务数据。控制器是视图与模型之间的调度枢纽,它根据用户的请求,调用模型去执行业务逻辑,并且调用视图去展示模型返回的响应结果。
本章的store应用为视图层、控制器层和模型层分别抽象出了StoreView、StoreController和StoreModel接口,层与层之间通过接口来交互,提高了各个层的独立性,并且削弱了层与层之间的耦合。由于视图、控制器和模型是各自独立的,因此可以方便地把它们分布到网络中的不同机器上。通常,模型是重用性最高的模块,它作为远程对象分布在服务器上,为多个客户端的视图提供服务。
13.9 练习题
1.以下哪些属于视图的任务?(多选)
A.展示数据
B.选择视图显示响应结果
C.处理业务逻辑
D.通知视图业务数据更新
E.接收用户的输入数据
F.触发事件
G.调用模型响应用户请求
2.以下哪些属于控制器的任务?(多选)
A.展示数据
B.选择视图显示响应结果
C.处理业务逻辑
D.通知视图业务数据更新
E.接收用户的输入数据
F.触发事件
G.调用模型响应用户请求
3.以下哪些属于模型的任务?(多选)
A.展示数据
B.选择视图显示响应结果
C.处理业务逻辑
D.通知视图业务数据更新
E.接收用户的输入数据
F.触发事件
G.调用模型响应用户请求
4.MVC设计模式有哪些优点?(多选)
A.提高程序代码的可重用性
B.提高应用程序的灵活性和可配置性
C.软件规模越小,MVC设计模式越能缩短软件的开发周期
D.提高程序代码的可维护性
5.对于本章介绍的store应用,在运用RMI框架时,控制器层位于客户端还是服务器端?
A.客户端
B.服务器端
6.在MVC设计模式中,哪个模块的可重用性最高?(单选)
A.视图
B.控制器
C.模型
7.参照本章13.2节的图13-5( 根据用户指定的ID查询客户详细信息的时序图),绘制出用户修改一个客户信息时的时序图。
8.参考本章的store应用,创建一个聊天系统。如图13-15所示是聊天系统的界面。
图13-15 聊天系统的界面
一个视图表示一个聊天用户的界面。模型被多个视图共享,所有视图都向模型注册自身,即模型持有所有视图的远程引用。模型负责消息的转发,此外,当一个新的用户登录到聊天系统中或从该系统中退出时,模型会通知所有视图刷新用户名单。模型位于服务器端,视图与控制器位于客户端。
如图13-16所示为用户Client1给用户Client2发送一条消息的时序图。
图13-16 用户Client1给用户Client2发送一条消息的时序图
模型层的接口ChatModel的定义如下:
|
以下是ChatModel接口的registerClient()方法的实现:
|
答案:1.AEF 2.BG 3.CD 4.ABD 5.A 6.C
(责任编辑 火凤凰 sunsj@51cto.com QQ:34067741 TEL:(010)68476636-8007)
























