设计模式:装饰者模式(Decorator Pattern)
/**
* 装饰者模式。
* @author Bright Lee
*/
public class DecoratorPattern {
public static void main(String[] args) {
Component component = new ConcreteComponent();
component = new Decorator(component);
component.method();
}
}
interface Component {
void method();
}
/**
* 被装饰者。
*/
class ConcreteComponent implements Component {
public void method() {
System.out.println("我是被装饰者。");
}
}
/**
* 装饰者。
*/
class Decorator implements Component {
private Component component;
Decorator(Component component) {
this.component = component;
}
/**
* 先调用了被装饰者的method方法,再执行自己的代码。
*/
public void method() {
System.out.println("我是装饰者。");
component.method();
System.out.println("我是装饰者。");
}
}
输出结果:
我是装饰者。
我是被装饰者。
我是装饰者。
榴芒客服系统:https://blog.youkuaiyun.com/look4liming/article/details/83146776
本文深入解析装饰者模式的实现原理及应用,通过具体代码示例展示如何使用装饰者模式为对象增加职责,而不改变其结构。该模式适用于需要在运行时动态地给一个对象添加一些额外的职责的情况。
961





