天天看點

設計模式(八)——Decorator 模式

了解:

       Decorator最簡單的方式,就是為一個對象添加職責(并且能夠适應原來使用他的對象的需求(接口不變)),但如果僅僅是為了給一個對象添加職責,而使用該模式,顯得有些浪費并且備援。實際上,想想java的I/O 流的實作,使用了大量的裝飾者模式,是為了讓對于流的各種格式能夠友善的進行組合,以迎合不同使用者的需求。稱之為——動态責任鍊。是以,這應該算是decorator模式最大的用處了。有時間可以去看看Java流的那些源碼。

缺點:

         會形成很多的小對象,并且如果本身的類較大,使用起來會變得很費力。