JAVA中IO流的设计就大量运用了装饰模式。看看我们熟悉的代码:
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("..")));
装饰模式的缺点:
1. 装饰的组合方式由对象的客户代码决定,很难排错。
2.类的减少缺导致了对象数量的增加,为了构造一个三层包装的装饰品,需要构造三个装饰。增加了对象的构造复杂度。很难搞明白里面到底放的是什么。
JAVA中IO流的设计就大量运用了装饰模式。看看我们熟悉的代码:
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("..")));
装饰模式的缺点:
1. 装饰的组合方式由对象的客户代码决定,很难排错。
2.类的减少缺导致了对象数量的增加,为了构造一个三层包装的装饰品,需要构造三个装饰。增加了对象的构造复杂度。很难搞明白里面到底放的是什么。