Java网络编程精解之基于MVC和RMI的分布式应用一(1)

2007-04-05     推荐:1473    收藏:952    评论:0     来源:51CTO.com 

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所示显示了这几个模块各自的功能及它们的相互关系。

498)this.style.width=498;'' onmousewheel = ''javascript:return big(this)'' height=289 alt="" src="/files/uploadimg/20070212/0925300.jpg" width=450 border=0>

图13-1 MVC设计模式

1.视图

视图是用户看到并与之交互的界面。视图向用户展示用户感兴趣的业务数据,并能接收用户的输入数据,但是视图并不进行任何实际的业务处理。视图可以向模型查询业务数据,但不能直接改变模型中的业务数据。视图还能接收模型发出的业务数据更新事件,从而对用户界面进行同步更新。

2.模型

模型是应用程序的主体部分。模型表示业务数据和业务逻辑。一个模型能为多个视图提供业务数据。同一个模型可以被多个视图重用。

3.控制器

控制器接收用户的输入并调用模型和视图去完成用户的请求。当用户在视图上选择按钮或菜单时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据。

如图13-2所示,MVC的3个模块也可以看做软件的3个层次,最上层为视图层,中间为控制器层,下层为模型层。总地说来,层与层之间为自上而下的依赖关系,下层组件为上层组件提供服务。视图层与控制器层依赖模型层来处理业务逻辑和提供业务数据。此外,层与层之间还存在两处自下而上的调用,一处是控制器层调用视图层来显示业务数据,另一处是模型层通知客户层同步刷新界面。为了提高每个层的独立性,应该使每个层对外公开接口,封装实现细节。

498)this.style.width=498;'' onmousewheel = ''javascript:return big(this)'' height=470 alt="" src="/files/uploadimg/20070212/0925301.jpg" width=334 border=0>

图13-2 MVC的3个模块也可以看做软件的3个层次

4.MVC处理过程

如图13-3所示,首先用户在视图提供的界面上发出请求,视图把请求转发给控制器,控制器调用相应的模型来处理用户请求,模型进行相应的业务逻辑处理,并返回数据。最后控制器调用相应的视图来显示模型返回的数据。

498)this.style.width=498;'' onmousewheel = ''javascript:return big(this)'' height=331 alt="" src="/files/uploadimg/20070212/0925302.jpg" width=450 border=0>

图13-3 MVC的处理过程


您可以针对本文进行:[评论]  [收藏]  [推荐]   [查看原文链接]  
  • 共有0条评论  点击查看更多评论
  • 网友评论仅供网友表达个人看法,并不表明e800同意其观点或证实其描述
我想发表评论:
用户名密码
  • 匿名发表
    验证码: