第3章 ServerSocket用法详解 | 第10章 Java语言的反射机制 | 第13章 基于MVC和RMI的分布 |
MVC是Model-View-Controller的简称,即模型-视图-控制器。MVC是Xerox PARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。
本章首先介绍MVC设计模式的概念,然后创建一个基于MVC的Java应用,并且在这个Java应用中引入RMI框架,把模型作为远程对象分布到服务器端,把视图和控制器分布到客户端,从而创建分布式的Java应用。
13.1 MVC设计模式简介
MVC把应用程序分成3个核心模块:模型(Model)、视图(View)和控制器(Controller),它们分别担当不同的任务。如图13-1所示显示了这几个模块各自的功能及它们的相互关系。
图13-1 MVC设计模式
1.视图
视图是用户看到并与之交互的界面。视图向用户展示用户感兴趣的业务数据,并能接收用户的输入数据,但是视图并不进行任何实际的业务处理。视图可以向模型查询业务数据,但不能直接改变模型中的业务数据。视图还能接收模型发出的业务数据更新事件,从而对用户界面进行同步更新。
2.模型
模型是应用程序的主体部分。模型表示业务数据和业务逻辑。一个模型能为多个视图提供业务数据。同一个模型可以被多个视图重用。
3.控制器
控制器接收用户的输入并调用模型和视图去完成用户的请求。当用户在视图上选择按钮或菜单时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据。
如图13-2所示,MVC的3个模块也可以看做软件的3个层次,最上层为视图层,中间为控制器层,下层为模型层。总地说来,层与层之间为自上而下的依赖关系,下层组件为上层组件提供服务。视图层与控制器层依赖模型层来处理业务逻辑和提供业务数据。此外,层与层之间还存在两处自下而上的调用,一处是控制器层调用视图层来显示业务数据,另一处是模型层通知客户层同步刷新界面。为了提高每个层的独立性,应该使每个层对外公开接口,封装实现细节。
图13-2 MVC的3个模块也可以看做软件的3个层次
4.MVC处理过程
如图13-3所示,首先用户在视图提供的界面上发出请求,视图把请求转发给控制器,控制器调用相应的模型来处理用户请求,模型进行相应的业务逻辑处理,并返回数据。最后控制器调用相应的视图来显示模型返回的数据。
图13-3 MVC的处理过程
共6页: 1 [2] [3] [4] [5] [6] 下一页 |