設計模式:裝飾者模式(Decorator Pattern)
阿新 • • 發佈:2019-01-12
設計模式:裝飾者模式(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("我是裝飾者。"); } }
輸出結果:
我是裝飾者。
我是被裝飾者。
我是裝飾者。