已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自然博物馆单元课程设计
- 轴承座课程设计夹具设计
- 2025年外联部工作计划书范例(3篇)
- 2025年度架子工岗位外包合同2篇
- 网络课程设计校园局域网
- 2025年酒类产品定制加工合同模板2篇
- 仓库保管员岗位责任制模版(2篇)
- 二零二五年度房屋租赁合同范本包含家具损坏赔偿3篇
- 2025年度水利工程劳务分包与施工图审核合同3篇
- 2025年度新能源汽车充电设施租赁认筹协议书(绿色出行)3篇
- 代县雁门光伏升压站~宁远220kV线路工程环评报告
- 承诺函(支付宝)
- 危险化学品目录2023
- FZ/T 81024-2022机织披风
- GB/T 24123-2009电容器用金属化薄膜
- 艾滋病梅毒乙肝实验室检测
- 国铁桥梁人行道支架制作及安装施工要点课件
- 领导科学全套精讲课件
- 粤教版地理七年级下册全册课件
- 小学科学苏教版六年级上册全册精华知识点(2022新版)
- 萎缩性胃炎共识解读
评论
0/150
提交评论