勵志

勵志人生知識庫

什麼是裝飾者模式

結構型設計模式

裝飾者模式(Decorator Pattern)是一種結構型設計模式,它允許向一個現有的對象動態地添加新的功能,同時保持對象結構的不變。

裝飾者模式是繼承的一種替代方案,尤其適用於需要擴展對象功能但不改變其結構的情況,在運行時通過創建一個包裝對象(即裝飾)來包裹原有的對象,以添加額外的功能。這種模式有助於遵守開閉原則,即對擴展開放、對修改封閉的原則,裝飾者模式通過引入裝飾類來實現,這些裝飾類可以聚合或繼承抽象構件角色,從而在保持類方法簽名完整性的前提下提供額外的功能。

裝飾者模式包含四種角色:抽象構件角色、具體構件角色、抽象裝飾角色和具體裝飾角色。抽象構件角色定義了對象應具備的基本接口,具體構件角色是實現這些接口的具體對象,抽象裝飾角色是所有裝飾者的基類,具體裝飾角色則是實現額外功能的具體裝飾對象。