<设计模式>(2)装饰模式
2017-05-05 15:51
337 查看
装饰模式
概念
在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。类图
说明
以上是贪吃蛇重生时的部分模型,以前的逻辑是执行relive()方式进行重生,现在,用装饰模式增加了一个复活时增加保护盾的方法.图中绿色标识的类为被装饰类,蓝色标识的类为装饰类,装饰与被装饰类继承同一接口,使用组合将他们组合到一起,避免了单一继承.应用
spring中的aop切面编程优缺点
优点:装饰类和被装饰类可以独立发展,不会相互耦合,装饰模式是继承的一个替代模式,装饰模式可以动态扩展一个实现类的功能。
缺点:
多层装饰比较复杂
以上内容均为个人观点,欢迎批评指正.
相关文章推荐
- <设计模式7>装饰模式
- <<cocoa设计模式>>
- <设计模式>之<单一职责原则>
- <Head First 设计模式>:工厂模式2:抽象工厂模式--Pizza
- 设计模式<二>——装饰模式
- <Java设计模式>—UML类图
- 黑马程序员——>第十九天<io流(BufferedWriter-装饰设计模式-流操作规律)>
- 我的<<Head First 设计模式>>读后感整理
- <Head First 设计模式>:模板方法模式:Beverage
- JAVA 装饰设计模式<转载>
- 设计模式 --> (12)装饰模式
- 黑马程序员_<<装饰设计模式>>
- <译>C#使用设计模式和软件设计原则构建应用程序 PartI
- <Head First 设计模式>:复合模式:duck
- <总结> 设计模式之 开放封闭原则OCP C++示例
- <<.NET B/S 架构实践>> 几种概念区别 - 算法、设计模式、企业应用架构模式、架构模式
- <译>C#使用设计模式和软件设计原则构建应用程序 PartIII
- <<Javascript模式>>中的九大设计模式
- <Head First 设计模式>:状态模式:GumballMachine
- <Java设计模式>—简单工厂模式