表现层设计模式_1.MVC模式

1.MVC模式三个核心模块

MVC是一种目前广泛流行的软件设计模式。近年来,随着Java EE的成熟,MVC成为了Java EE平台上推荐的一种设计模式。MVC强制性地把一个应用的输入、处理、输出流程按照视图、控制、模型的方式进行分离,形成了控制器、模型、视图三个核心模块。

(1)控制器(Controller):

接受用户的输入并调用模型和视图去完成用户的需求。该部分是用户界面与Model的接口。一方面它解释来自于视图的输入,将其解释成为系统能够理解的对象,同时它也识别用户动作,并将其解释为对模型特定方法的调用;另一方面,它处理来自于模型的事件和模型逻辑执行的结果,调用适当的视图为用户提供反馈。

(2)模型(Model):

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

(3)视图(View):

用户看到并与之交互的界面。视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。

2.三个核心模块的协作关系

三者的协作关系如图1所示。

图1 MVC设计模式

从图1中可以看到,首先,控制器接收用户的请求,并决定应该调用哪个模型来处理;然后,模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后,控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。

3.MVC模式的优点

使用MVC模式来设计表现层,可以有以下的优点。

(1)允许多种用户界面的扩展。在MVC模式中,视图与模型没有必然的联系,都是通过控制器发生关系,这样如果要增加新类型的用户界面,只需要改动相应的视图和控制器即可,而模型则无须发生改动。

**(2)易于维护。**控制器和视图可以随着模型的扩展而进行相应的扩展,只要保持一种公共的接口,控制器和视图的旧版本也可以继续使用。

**(3)功能强大的用户界面。**用户界面与模型方法调用组合起来,使程序的使用更清晰,可将友好的界面发布给用户。

MVC是构建应用框架的一个较好的设计模式,可以将业务处理与显示分离,将应用分为控制器、模型和视图,增加了应用的可拓展性、强壮性及灵活性。基于MVC的优点,目前比较先进的Web应用框架都是基于MVC设计模式的。

相关推荐
刷帅耍帅8 分钟前
设计模式-命令模式
设计模式·命令模式
码龄3年 审核中19 分钟前
设计模式、系统设计 record part03
设计模式
刷帅耍帅24 分钟前
设计模式-外观模式
设计模式·外观模式
刷帅耍帅1 小时前
设计模式-迭代器模式
设计模式·迭代器模式
liu_chunhai1 小时前
设计模式(3)builder
java·开发语言·设计模式
刷帅耍帅1 小时前
设计模式-策略模式
设计模式·策略模式
刷帅耍帅6 小时前
设计模式-享元模式
设计模式·享元模式
刷帅耍帅6 小时前
设计模式-模版方法模式
设计模式
刷帅耍帅8 小时前
设计模式-桥接模式
设计模式·桥接模式
MinBadGuy9 小时前
【GeekBand】C++设计模式笔记5_Observer_观察者模式
c++·设计模式