本文已参与「新人创作礼」活动,一起开启掘金创作之路。
装饰者设计模式的好处,对原有类的功能进行增强(装饰)和扩展,但是其实干活的还是原来的那个类,感兴趣的可以对照我们Java中IO一章节中的缓冲流底层源码可以看一下, 对比 : FileInputStream BufferedInputStream
InputStream : 父类
FileInputStream : 真正干活的人
BufferedInputStream : 对FileInputStream, 进行了功能的增强
思考 :
代理模式 : 必须要有接口
装饰设计模式 : 没有接口
没有使用装饰类的时候,如果要换行,采用下面这种方式,或者用转换流也可以。
装饰类设计
1、
2、
3、