装饰者模式
装饰着模式(Decorator)
1 概念
1、定义
- 在不改变原有对象的基础上,将功能附加到对象上。
2、应用场景
- 扩展一个类的功能或给一个类添加附加职责。
3、优点
- 不改变原有对象的情况下,扩展功能。
- 使用不同的组合可以实现不同的效果。
- 符合开闭原则。
2、实现
package com.xianhuii.designpattern;
public abstract class Decorator implements Component {
Component component;
public Decorator(Component component) {
this.component = component;
}
public static void main(String[] args) {
Component component = new ConcreteDecorator2(new ConcreDecorator1(new ConcreteComponent()));
component.operation();
}
}
class ConcreDecorator1 extends Decorator {
public ConcreDecorator1(Component component) {
super(component);
}
@Override
public void operation() {
System.out.println("美颜");
component.operation();
}
}
class ConcreteDecorator2 extends Decorator {
public ConcreteDecorator2(Component component) {
super(component);
}
@Override
public void operation() {
System.out.println("滤镜");
component.operation();
}
}
interface Component {
void operation();
}
class ConcreteComponent implements Component {
@Override
public void operation() {
System.out.println("拍照");
}
} 
传音控股公司福利 317人发布