模式 |
模式含义 |
策略 |
说明举例 |
|
用于对请求的预处理和后处理 |
标准过滤器策略 |
servlet标准的filter,比如一个filter过滤一种表单数据 | |
定制过滤器策略 |
可以通过文件配置动态的很多filter,少用 | ||
基本过滤器策略 |
使用一个基类的filter,处理通用的逻辑,默认操作 | ||
模板过滤器策略 |
模板方法实现的 | ||
其他3:WebService过滤器策略,定制SOAP过滤器,JAX-RPC过滤器 | |||
|
提供用于管理要求的集中控制器 |
servlet前端策略(延伸:基类前端) |
servlet集中控制 | ||
jsp前端 |
jsp标签,少用 | |||
命令加控制器 |
引入命令模式 | |||
物理资源映射策略、逻辑资源映射策略、多路资源映射策略 |
资源统一映射 | |||
控制器中的分配器 |
如果视图和分配器在系统中占比小,可以用helper放到控制器中 | |||
过滤器控制器策略 |
过滤器实现为集中控制器 | |||
Context对象 |
独立于协议的方式封装状态,使状态在整个应用系统中共享 |
请求Context策略:请求Context表策略(把Context对象封装为Map表),请求Context POJO策略,验证Context策略,安全性Context策略,配置Context策略 |
RequestContext的ContextObject,封装状态数据 | |
通用Context对象策略:Context对象工厂策略,Context对象自动复制策略, |
| |||
应用控制器 |
实现了操作(action)和视图管理的集中化、模块化 |
命令处理器策略 |
CommandFactory,p150/167:前端控制器创建Context->操作管理(本模式)->视图管理 | |
视图处理器策略 |
视图工厂map中有string到view的map,或者通过配置 | |||
转化处理器策略 |
transformHelper,AC调用helper取得结果,比如由xlst转化而来 | |||
导航和流程控制策略 |
访问某视图之前,检查前置条件;根据状态可以有个简单的状态机;限制重复的请求。 | |||
消息处理策略:定制SOA消息处理策略,JAX-RPC消息处理策略(JAX-RPC引擎) |
前段控制器->p164/186; | |||
视图和助手 |
|
基于模板的视图策略 |
jsp标签为模板和servlet结合 | |||
基于控制器的试图策略 |
在servlet控制器中writer中输出 | |||
JavaBean助手策略 |
| |||
定制标记助手策略(标记文件助手、业务代表用作助手、) |
JSTL,自定义taglib等, | |||
复合视图 |
|
JavaBean视图管理策略 |
主要使用jstl,el,bean存放状态 | |||
标准标记视图管理策略 |
jsp:include等 | |||
定制标记视图管理策略 |
| |||
转化器视图管理 |
| |||
其他:早绑定资源策略,晚绑定 |
早:资源变化频率小<%@include%>,晚:<jsp:include> | |||
服务到工作者 |
|
复合 |
以控制器为中心的一种框架(视图分配器模式以视图为中心) | |
分配器视图 |
把前端控制器模式、视图助手模式和一个分配器组件结合起来,延迟了很多视图处理操作(适合视图处理前很少业务处理,把视图作为切入点) |
复合 |
|