1. 程式人生 > 遊戲攻略 >《消逝的光芒2》全空投位置攻略 空投在哪

《消逝的光芒2》全空投位置攻略 空投在哪

介紹

裝飾器模式也叫包裝者模式,屬於結構型模式,它作為現有類的包裝,允許向一個現有物件新增新的功能,

同時也不改變其結構。

給物件新增功能,有兩種方式:繼承或則關聯組合,講一個類的物件嵌入另一個物件中,由另一個物件決定

對嵌入物件的行為來增強功能,這個是裝飾器模式,比繼承模式更加靈活。

應用場景

以動態、透明的方式給單個物件新增職責,但又不能改變其架構。

jdk原始碼裡面使用最多的就是IO流,大量使用裝飾設計模式。

角色

抽象元件、被裝飾者、裝飾者元件(持有抽象元件的引用)、具體裝飾物。

優點

裝飾模式與繼承的關係都是擴充套件物件的功能,但是裝飾器模式可提供比繼承更多的靈活性。

使用不同的具體裝飾類,以及這些類的排列組合,可以創造出不同行為的組合,原有程式碼無需改變,符合開閉原則。

缺點

裝飾模式增加了許多子類,如果過度使用會使程式變得很複雜;

增大的系統的複雜度,加大學習與理解的難度。

裝飾器模式和橋接模式對比

相同點都是通過封裝其他物件達到設計的目的,和物件介面卡也類似,有的也叫半裝飾設計模式;

橋接模式沒有裝飾者被裝飾者的主次之分,橋接和被橋接則是平等的,不用繼承自同一個父類。