應(yīng)用場(chǎng)景
需要可以迭代的在某個(gè)類方法的基礎(chǔ)上動(dòng)態(tài)的加一些功能。
設(shè)計(jì)思想
定義某種操作的抽象接口寿谴,然后不同的子類實(shí)現(xiàn)它锁右。然后定義一個(gè)抽象裝飾類,定義抽象裝飾方法讶泰,也繼承一下操作類的抽象接口咏瑟,并且持有操作接口的引用。然后具體的裝飾者實(shí)現(xiàn)該裝飾方法痪署,并且在方法內(nèi)調(diào)用操作類的方法后加入自己的功能部分响蕴。這樣就實(shí)現(xiàn)了給某個(gè)操作加一些功能。并且由于抽象裝飾類繼承了操作接口惠桃,所以還可以迭代的給某個(gè)操作加一些功能浦夷。比如JAVA中的流就用了裝飾模式」纪酰可以在一個(gè)基礎(chǔ)流上不斷包裝劈狐,加上其他功能。