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

来源:互联网 发布:盛势网络剧日常花絮 编辑:程序博客网 时间:2024/05/22 12:27

装饰模式

概念

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

类图


说明

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

应用

spring中的aop切面编程

优缺点


优点:

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

缺点:
多层装饰比较复杂

以上内容均为个人观点,欢迎批评指正.
1 0