设计模式-装饰模式(Decorator)
今天在学习Io的时候发现里面用到了Decorator:
BufferedInputStream bufferedInputStream=new BufferedInputStream(new FileInputStream(new File("")));
这么一行程序就用到了Decorator模式。
网上的设计模式是在是太多,1+1的问题弄的人晕头转向。可能是我笨吧。
说白了装饰模式,其实就是个叠加。
你去街边吃小吃,油炸馍馍。你可以自己往里面添加各种各样的菜。这个添加的过程我们可以抽象出来,其实就是Decorator模式!
其中的Component我们切当他为面团或者材料。
ConcreteComponent就是实际的一个馍馍。没有夹任何菜。
Decorator和上面的一样。你可以夹任何菜。香菇的,面筋的,香肠的,鸡肉的。
当然具体的加了什么东西的馍馍就是下面的ConcreteDecoratorA和ConcreteDecoratorB当然还有C ,D等等。
说白了,你只需要一个馍馍就可以相加什么加什么。对吧。
抽象过来:
在ConcreteDecoratorA和ConcreteDecoratorB中你需要传入一个ConcreteComponent,对吧。
A里面有香菇,B里面有香菇还有香肠。哈哈,想吃什么就加什么。