Java设计模式-装饰者模式(Decorator)
2018-01-31 22:55
579 查看
Java设计模式
装饰者模式
装饰者模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。Source类是装饰类,Decorator类是一个装饰类,可以为Source类动态的添加一些功能。
共同接口代码如下:
public interface Sourceable{ public void method(); }
Source被装饰类代码如下:
public class Source implements SOurceable{ @Override public void method(){ System.out.println("the original method!"); } }
装饰类源码如下:
public class Decotator implements Sourceable{ private Sourceable source; public Decorator(Sourceable source){ super(); this.source = source; } @override public void method(){ System.out.println("before decorator1"); source.method(); System.out.println("after decorator!"); } }
测试代码
如下:
public class DecoratorTetst{ Sourceable source = new Source(); Sourceable obj = new Decorator(source); obj.method(); }
装饰器模式的应用场景:
1.需要扩展一个类的功能;
2.动态的为一个对象增加功能,而且还能动态撤销。(继承不能做到这一点,继承的功能是静态的,不能动态增删)
产生过多相似的对象,不易排错。
相关文章推荐
- 设计模式 - 装饰者模式(Decorator Pattern) Java的IO类 用法
- java设计模式学习(三)装饰者模式(decorator)
- Java设计模式——装饰者模式(Decorator Pattern)
- (设计模式)装饰者模式Decorator&Wapper-java
- java设计模式---装饰者模式(decorator pattern)
- Java设计模式-装饰者模式(Decorator Pattern)
- Java设计模式(十):装饰者模式Decorator
- Java设计模式:装饰者模式(Decorator)
- 设计模式: Decorator 装饰者(java)
- Java设计模式之 —— 装饰者(Decorator) — 点炒饭
- 设计模式 - 装饰者模式(Decorator Pattern) Java的IO类 使用方法
- Java设计模式之装饰者模式(Decorator pattern)
- 设计模式 - 装饰者模式(Decorator Pattern) Java的IO类 使用方法
- java设计模式—装饰者模式(Decorator Pattern)
- 设计模式 - 装饰者模式(Decorator Pattern) Java的IO类 用法
- Java设计模式--装饰者模式【Decorator Pattern】
- Java编程开发设计模式之--装饰者模式(Decorator)与代理模式(Proxy)
- java设计模式之装饰者模式Decorator
- Java设计模式学习—装饰者模式(Decorator)