表现层设计模式_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设计模式的。

相关推荐
游客5208 分钟前
设计模式-结构型-桥接模式
开发语言·python·设计模式·桥接模式
Libby博仙27 分钟前
asp.net core mvc中的模板页(父页面,布局页)和部分视图(Partial View)
后端·asp.net·mvc
斯内科1 小时前
C#使用MVC框架创建WebApi服务接口
mvc·webapi·topshelf·owin
huaqianzkh2 小时前
深入学习RabbitMQ的Direct Exchange(直连交换机)
java·系统架构·rabbitmq
苹果2 小时前
C++二十三种设计模式之工厂方法模式
c++·设计模式·工厂方法模式
程序研2 小时前
工厂方法模式
java·设计模式
渊渟岳2 小时前
掌握设计模式--享元模式
设计模式
全栈若城2 小时前
4种革新性AI Agent工作流设计模式全解析
人工智能·设计模式
迪迦不喝可乐10 小时前
软考 高级 架构师 第十一章 面向对象分析 设计模式
java·设计模式
苹果12 小时前
C++二十三种设计模式之迭代器模式
c++·设计模式·迭代器模式