装饰器模式学习
一、装饰器模式: 指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式。 通常情况下,扩展一个类的功能会使用继承方式来实现。但继承具有静态特征, 耦合度高,并且随着扩展功能的增多,子类会很膨胀。 如果使用组合关系来创建一个包装对象(即装饰对象)来包裹真实对象,并在 保持真实对象的类结构不变的前提下,为其提供额外的功能 ,这就是装饰模式的目标。 二、实践 2.1 定义一个接口规范 //定义了一个吃凉皮的规范 public interface ICoolNoodle { void eat(); } 2.2 普通实现类实现上述规范 //一个普通的实现类:屌丝吃凉皮 public class BoyDorisCoder implements ICoolNoodle { @Override public void eat() { System.out.println("一个男屌丝码农正在吃凉皮!"); } } //一个普通的实现类:屌丝吃凉皮 public class GirlDorisCoder implements ICoolNoodle { @Override public void eat() { System.out.println("一个女屌丝码农正在吃凉皮!"); } } 2.3 对coder吃凉皮进行增强,首先定义一个抽象类实现规范