第五章节 - 装饰模式

 

装饰模式 - 章节

 

概念
·也叫包装器
·添加不影响他人的行为
·不仅仅是继承
·单一职责原则
·组成动态行为
·例子:
- java.io.lnputStream
- java.util.Collections # checkedList
- UI组件


设计注意事项
继承的基础
利用组合和继承(is-a, has-a)
选择子类化
构造函数需要层次结构中的实例

UML图

 

例子:File

 

训练:装饰模式
Component, ConcreteComponent, Decorator, ConcreteDecorator
创建装饰
实现另一个装饰
不是创造模式

 

陷阱
·每个新添加的功能都有一个新类
·多个小对象
·经常与简单的继承混淆


对比

组成模式
·树结构
·Leaf与Composite具有相同的接口
·对象之间的团结

装饰模式
·包含另一个实体
·修改行为(添加)
·不改变底层对象


装饰模式总结
·原始对象可以保持不变
·添加功能的独特方式
·与继承相混淆
·对于客户来说可能更复杂

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值