装饰设计模式图解

装饰设计模式(IO流中用的多)

  装饰设计模式的概述
    装饰模式就是使用被装饰类的一个子类的实例,在客户端将这个子类的实例交给装饰类。是继承的替代方案。
  优点
    使用装饰模式,可以提供比继承更灵活的扩展对象的功能,它可以动态的添加对象的功能,并且可以随意的组合这些功能。
  缺点
    正因为可以随意组合,所以就可能出现一些不合理的逻辑。
  示例代码如下:
    // 复杂的装饰(多重装饰)
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    BufferedWriter bw = new BufferedWriter((new OutputStreamWriter(System.out)));

    // 简单的装饰
    Scanner sc = new Scanner(System.in);

原文地址:https://www.cnblogs.com/chenmingjun/p/8811001.html