第12章 Web应用设计模式与框架
第12章
第5章 Web应用设计模式与框架Java Web开发实践教程 --从设计到实现 大连东软信息学院计算机系
第12章
主要内容设计模式和架构模式 J2EE中的层架构模式 J2EE模式简介 Advanced MVC前端控制器实例 S2SH框架搭建实例
第12章
教学要求了解企业级应用的架构模式 掌握前端控制器的设计与实现 掌握S2SH框架的搭建
第12章
12.1设计模式和架构模式设计模式(Design Pattern)着重于解决底层问题, 是对问题和解决方案进行抽象的普遍适用的方法。 GoF的著作把设计模式划分为三类:创建型模式 (Creational Patterns): :这一类型的模式,用于隐藏对象的创建细节。 这一类型的模式,用于隐藏对象的创建细节。
结构型模式 (Structural Patterns): :这一类的模式关心类和对象之间的组织结构。 这一类的模式关心类和对象之间的组织结构。
行为型模式 (Behavioral Patterns): :这一类的模式着重于算法以及类之间的任务分配。 这一类的模式着重于算法以及类之间的任务分配。
第12章
12.1设计模式和架构模式架构模式(Architectural Pattern)着重于解决方案的 高层复合结构 。 架构模式通常可以划分为如下四种类型:From Mud to Structure型: 型帮助架构师将系统合理划分,避免形成一个对象的海洋。 帮助架构师将系统合理划分,避免形成一个对象的海洋。
Distributed Systems型: 型为分布式系统提供完整的架构设计 。
Interactive Systems型: 型支持包含有人机互动界面的系统的架构设计 。
Adaptable Systems型: 型支持应用系统适应技术的变化、软件功能需求的变化。 支持应用系统适应技术的变化、软件功能需求的变化。
第12章
12.1设计模式和架构模式参考资料Erich Gamma等,《设计模式:可复用面向对 象软件的基础》,机械工业出版社 Erich Gamma等,《设计模式:可复用面向对 象软件的基础》,机械工业出版社 Robert C.Martin,《敏捷软件开发:原则、模 式与实践》,清华大学出版社 阎宏,《Java与模式》,电子工业出版社 Alan Shalloway James R. Trott,《Design Patterns Explained》,中国电力出版社
第12章
12.2 J2EE中的层架构模式J2EE平台为设计、开发、集成和部署企业级应用 提供了基于组件的方法。 J2EE平台提供了多层分布式应用模型,能重用组 件,能为用户提供统一的安全模型和灵活的事务 处理控制。在J2EE规范中进行了以下的分层:客户层:该层代表访问系统的人员,应用程序,或系统 客户层:该层代表访问系统的人员,应用程序, 的客户端。 的客户端。 表示层:该层封装了用来服务访问本系统的所有客户端 的表示层逻辑。 业务逻辑层:该层提供业务服务,包括业务数据和业务 逻辑。 资源层:该层包括业务数据源
和外部系统资源,如数据 库管理系统和企业信息系统等。
第12章
12.3 J2EE模式简介J2EE模式分为表现层,业务层和集成层模式。 表现层模式:涉及组织应用程序的表现组件,包括:拦截过滤器(Intercepting Filter):管理客户请求的预处理和后续 处理工作。 前端控制器(Front Controller):提供对用户请求进行集中管理的 机制。包括应用控制器:将动作调用管理和视图调度转发管理从 控制器组件中分离出来。 视图助手(View Helper):将构建视图所需的逻辑与视图的内容 检索分离开。 复合视图(Composite View):根据多个不同的子视图构造一个 视图。 调度器视图(Dispatcher View):将前端控制器和视图助手模式 组合在一起。 工作者服务(Service to Worker):与调度器视图模式相似,不同 之处在于前端控制器在视图选择和业务处理调用方面承担了更多 的职责。
第12章
12.3 J2EE模式简介业务层模式:管理业务处理过程和业务数据包括:服务定位器(Service Locator):提供一个用于服务查找的接口。会话外观(Session Façade ):用一个比较简单的接口隐藏业务组件的细节。 业务代表(Business Delegate):分离表示客户和业务服务。 传输对象(Transfer Object):通过将返回值数据封装到一个对象中来减少 远程调用。 传输对象装配器(Transfer Object Assembler):根据多个业务对象装配传 输对象的数据。 复合实体(Composite Entity):将大量相关的细粒度持久化对象包装在一 个实体中,用来表示包含这些对象的结构化组织。 值列表处理器(Value List Handler):提供一个有效的机制,用于执行可能 返回大量对象的查询,并浏览整个结果。
集成层模式:与其它类型应用程序或遗留系统的集成,包括:服务激活器(Service Activator):通过使用JMS API,允许客户异步调用 EJB 组件。 数据访问对象(Data Access Object):将与数据库相关的代码分隔到只暴 露面向业务接口的类中。
第12章
12.4 AdvancedMVC前端控制器实例使用J2EE规范以及其他的设计模式可以简化开发。 其中,MVC模式是Web应用开发中最重要的设计 模式。 MVC模式包括三部分:模型(Model):包含业务数据、处理及规则。不应当 包含任何用户界面的详细信息。 视图(View):为用户显示包含模型组件数据的图形 用户界面(GUI),通常将GUI事件传递给控制器组件。 控制器(Controller):接收用户的请求,调用模型组 件的处理,并确定需要显示的视图组件。
第12章
12.4 AdvancedMVC前端控制器实例问题回顾本书第9章的Tea Web应用中的MVC实例,发现 一个简单的MVC模式包括许多的视图、模型和控制器。 由于每个控制器中都包含处理请求参数,调用模型和
转发请求的功能,因此存在这许多重复的代码。 根据12.3中讲述的J2EE中表现层的设计模式,前端控 制器模式可以解决控制器太多,代码重复的问题。
第12章
12.4 AdvancedMVC前端控制器实例前端控制器模式包含一个总控制器,提供了一个集中处理请求的点(在 Java的Web MVC实现中,通过Servlet来实现总控制 器)。 使用一个调度器进行动作管理:调度器将请求URL映射 至需要被执行的命令实例。命令实例在WebWork或者 Struts中就是Action。由调度器调用相应的命令实例与 系统后端的服务进行交互,并在处理完业务逻辑之后返 回一个码值,而这个返回码会映射到某一个视图(通常 是一个Web页面模板,如JSP)。 控制器根据调度器调用业务处理的返回值决定将请求转 发到哪个视图,最后该视图将会呈现给用户。
第12章
12.4 AdvancedMVC前端控制器实例针对控制器的主要作用:获取参数、数据验证转 换、调用模型和转发请求,初步设计如下:获取参数和数据验证与转换:这个工作由一个独立的调 度器完成。实际上调度器将这个工作交给了一个属性设 置器。属性设置器,会对由调度器获取的请求参数进行 非空验证和数据类型转换。最后,将转换后的数据赋值 给Action中与参数同名的属性。 调用模型:这个工作也是由调度器完成。并且将模型的 调用设计成可以配置的,即,把请求访问地址与对应的 可以调用的模型写到一个自定义的配置文件中,调度器 通过读取这个配置文件,决定什么时候应该调用哪个模 型。 转发请求:同样设计成可以配置的。将视图地址写在配 置文件中。控制器根据这个配置文件以及调度器调用模 型返回的码值决定将请求转发到哪个视图。
第12章
12.4 AdvancedMVC前端控制器实例前端控制器模式中各个类或接口设计如下:FrontController类:执行公共的任务,然后把请 …… 此处隐藏:3795字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [求职职场]加法运算定律的运用练习题
- [求职职场]大型石油化工工业过程节能新技术
- [求职职场]2015-2020年中国箱纸板行业分析与投资
- [求职职场]NADEX-IWC5A点焊机故障代码
- [求职职场]英语阅读 非常有用
- [求职职场]鲁卫疾控发〔2012〕2号(联合,印发山东
- [求职职场]2014年莆田公务员行测技巧:数字推理的
- [求职职场]基于最近发展区理论的高中数学课堂有效
- [求职职场]与贸易有关的知识产权协议
- [求职职场]【王风范】微演说·职场演说三
- [求职职场]新时代国珍健康大课堂
- [求职职场]群论期末考试复习题
- [求职职场]施工现场消防安全专项施工方案(范本)-
- [求职职场]初中物理光学知识点归纳完美版
- [求职职场]毕业设计总结与体会范文
- [求职职场]江南大学2018年上半年展示设计第1阶段
- [求职职场]景尚乡民兵参战支前保障方案
- [求职职场]【优质】2019年工会职工之家建设工作总
- [求职职场]数据库技术与应用—SQL Server 2008(第
- [求职职场]汽车变速箱构造与工作原理
- 首钢工业区工业遗产资源保护与再利用研
- 第4课 《大学》节选
- 2016程序文件——检验检测结果发布程序
- 2011年高考试题文言文阅读全解释__2011
- 化学是一门基础的自然科学
- 海外做市商制度的借鉴意义
- 外国建筑史复习资料(
- 七年级下思想品德期末综合测试(二)
- 思政课部2013年上学期教学工作总结
- 电大国际公法任务3 0004
- 《圆的认识》教学设计
- 中国轨道交通牵引变流器行业市场发展调
- 中泰证券#定期报告:坚守时代硬科技和
- 浅论企业财务管理与企业经营投资风险的
- 大功率半导体激光器光纤耦合技术调研报
- 中国传统家具的现状与发展探讨
- Broadcom数字电视芯片助海尔扩展高清电
- 新HSK4词汇练习 超全(五)
- 2013届高考数学单元考点复习12
- 雨霖铃精品课件




