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