设计模式-装饰模式(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里面有香菇还有香肠。哈哈,想吃什么就加什么。

 

 

 

posted @ 2013-02-28 14:43  q429786006  阅读(164)  评论(0编辑  收藏  举报