您的位置:首页 > 编程语言 > Java开发

<设计模式>(2)装饰模式

2017-05-05 15:51 337 查看

装饰模式

概念

在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。

类图



说明

以上是贪吃蛇重生时的部分模型,以前的逻辑是执行relive()方式进行重生,现在,用装饰模式增加了一个复活时增加保护盾的方法.图中绿色标识的类为被装饰类,蓝色标识的类为装饰类,装饰与被装饰类继承同一接口,使用组合将他们组合到一起,避免了单一继承.

应用

spring中的aop切面编程

优缺点

优点:
装饰类和被装饰类可以独立发展,不会相互耦合,装饰模式是继承的一个替代模式,装饰模式可以动态扩展一个实现类的功能。

缺点:
多层装饰比较复杂

以上内容均为个人观点,欢迎批评指正.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 对象 扩展 编程