1700484500
❑低耦合
1700484501
1700484502
因为模型和视图分离,两者没有耦合关系,所以可以独立地扩展和修改而不会产生相互影响。
1700484503
1700484504
❑快速开发和便捷部署
1700484505
1700484506
模型和视图分离,可以使各个开发人员自由发挥,做视图的人员和开发模型的人员可以制定自己的计划,然后在控制器的协作下实现完整的应用逻辑。
1700484507
1700484508
MVC框架还有很多优点,本章主要不是讲解MVC技术,主要是通过讲解设计MVC框架来说明设计模式该怎么应用,所以想了解更详细的MVC框架信息请自行查阅资料。
1700484509
1700484510
38.1.1 MVC的系统架构
1700484511
1700484512
我们设计的MVC框架包含以下模块:核心控制器(FilterDispatcher)、拦截器(Interceptor)、过滤器(Filter)、模型管理器(Model Action)、视图管理器(View Provider)等,基本上一个MVC框架上常用的功能我们都具备了,系统架构如图38-3所示。
1700484513
1700484514
1700484515
1700484516
1700484517
图38-3 MVC系统架构
1700484518
1700484519
各个模块的职责如下:
1700484520
1700484521
❑核心控制器
1700484522
1700484523
MVC框架的入口,负责接收和反馈HTTP请求。
1700484524
1700484525
❑过滤器
1700484526
1700484527
Servlet容器内的过滤器,实现对数据的过滤处理。由于它是容器内的,因此必须依靠容器才能运行,它是容器的一项功能,与容器息息相关,本章就不详细讲述了。
1700484528
1700484529
❑拦截器
1700484530
1700484531
对进出模型的数据进行过滤,它不依赖系统容器,只过滤MVC框架内的业务数据。
1700484532
1700484533
❑模型管理器
1700484534
1700484535
提供一个模型框架,该框架内的所有业务操作都应该是无状态的,不关心容器对象,例如Session、线程池等等。
1700484536
1700484537
❑视图管理器
1700484538
1700484539
管理所有的视图,例如提供多语言的视图等。
1700484540
1700484541
❑辅助工具
1700484542
1700484543
它其实就是一大堆的辅助管理工具,比如文件管理、对象管理等等。
1700484544
1700484545
在我们的MVC框架中,核心控制器是最重要的,我们就先从它着手。核心控制器使用了Servlet容器的过滤器技术,需要编写一个过滤器,所有进入MVC框架的请求都需要经过核心控制器的转发,类图如图38-4所示。
1700484546
1700484547
1700484548
1700484549
[
上一页 ]
[ :1.7004845e+09 ]
[
下一页 ]