




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Struts2设计模式之装饰(Decorator)模式 Logo 装饰(Decorator)模式 1.装饰模式的定义 2.装饰模式的构成要素 3.装饰模式的应用案例 定义 装饰模式的基本含义是能够动态地为一个对象添加一些额 外的行为职责 谈到对象行为职责的扩展,很容易想到面向对象编程语言的 一个重要特征:继承 继承的扩展特性 : (1)现有对象行为的覆盖 - 通过覆写(Override)父类中已 有的方法 (2)添加新的行为职责 -通过子类中添加新的方法完成。 既然有继承,那 为什么还要设计模式 来进行对象行为职责 的扩展呢? Reason 继承为对象类型所引入的是一种静态特性扩展。意思是必须编写一个子 类,并在其中通过语法所支持的函数覆盖后者函数添加的方式扩展器行为特 征。这一扩展后的行为特征的获取在编译期就被决定,而并非是一个运行期 的扩展模式。随着子类的增多,虽然获得了更多的功能扩展,然而各种子类的组 合将导致子类的极度膨胀。在java世界中,一个类只能进行单根继承而无法支持 多重继承,因而通过继承这种发式进行功能行为特性的扩展缺乏足够的灵活性。 特性 过度依赖使用 继承来进行对 象的功能扩展 目的解决什么? 进行对象行 为职责扩展 动态(扩展 特性在运行 期自动获取 ) 目的和特性 原始接口(Component)-定义了一个接口方法 默认目标实现类(TargetComponent)-对于原始接 口的默认实现方法 装饰实现类(ComponentDecorator)-同样实现了原 始接口,既可以是一个抽象类,也可以是一个具体实现类 。其内部更涨了一个原始接口的对象实例: targetComponenet,这个实例的实现往往被初始化成 默认目标实现类(TargetComponenet) 具体装饰实现类(ComponentDecoratorA)-继承装饰 类(ComponentDecorator),可以在operation方法 中调用原始接口的对象实例targetComponenet获得默 认目标实现类的行为方式在其中加入行为扩展实现。 装饰(Decorator)模式 初识一下。 图析 为什么命名“装饰模式”? 默认目标实现TargetComponent类封装与具体的装饰实现类 ComponentDecorator或者其子类的内部,从而形成对象之间的引用关系 具体装饰实现类(ComponentDecorator)同样实现了原始接口 装饰模式比“继承”有哪些灵活的应用场景呢? 适合对默认目标中多个接口进行排列组合的调度 适合对默认目标进行选择性扩展 适合对默认目标中未知或者不易扩展的情况 案例: 在运行期,当我们需要对 httpservletRequest和 httpServletResponse的默认实现行 为进行扩展时,我们就可以继承 HttpservletRequestWrapper或者 HttpServletResponseWrapper,它 们提供了一个科传入对应 httpServletRequest和 HrrpservletResponse接口的构造函 数,并在构造函数中实现了将原始 HttpServletRequest和 HttpServletResponse接口的实现封 装与内部的基本逻辑。 图例 ServletRequest HttpServletRequest HttpServletRequestWrapper Sam
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农艺师考试理论与实践结合试题及答案
- 2024年农艺师考试知识点导图试题及答案
- 2024年高校辅导员价值观测试题及答案
- 园艺师考试的知识结构与复习效果的优化试题及答案
- 生物机电笔试题目及答案
- 推广方案面试题目及答案
- 怎么制作智商测试题及答案
- 花艺师考试知识与技能整合试题及答案
- 如何有效管理备考时间应对花艺师考试试题及答案
- 2024年高校辅导员考试各类题目及答案
- 建设工程施工合同GF-2024-0201住建部
- 幼儿园紧急避险安全教案
- 沼气发电工艺流程
- 16 有为有不为 公开课一等奖创新教案
- 2025年安康岚皋县岚水流韵文化传媒有限责任公司招聘笔试参考题库附带答案详解
- 2024-2025学年人教版英语七年级下册Unit 5 Here and now Section A Grammar教案
- 2025年全国海洋知识竞赛题库及答案(共200题)
- 洁净风管安装施工方案
- 深圳广东深圳市福田区慢性病防治院招聘工作人员笔试历年典型考点(频考版试卷)附带答案详解版
- 2025年云南曲靖师宗县县属事业单位选调工作人员11人历年高频重点提升(共500题)附带答案详解
- 电商直播运营(初级)营销师-巨量认证考试题(附答案)
评论
0/150
提交评论