說說設計模式 裝飾器模式 Decorator

2021-09-06 17:24:21 字數 1148 閱讀 4060

返回目錄

裝飾器模式,也叫又叫裝飾者模式,顧名思義,將乙個物件進行包裹,包裝,讓它變成乙個比較滿意的物件,這種模式在我們平時專案開發中,經常會用到,事實上,它是處理問題的一種技巧,也很好的擴充套件了程式,讓程式**不那麼死板!

1. 需要擴充套件乙個類的功能,或給乙個類新增附加職責。

2. 需要動態的給乙個物件新增功能,這些功能可以再動態的撤銷。

3. 需要增加由一些基本功能的排列組合而產生的非常大量的功能,從而使繼承關係變的不現實。

4. 當不能採用生成子類的方法進行擴充時。

其中我們認為第四種使用是比較巧妙的,這一講中,主要是以第四講為例來說明的

iaction:裝飾器標準介面,所有裝飾功能都要實現它

delegateaction:裝飾類,用來實現iaction插口的功能,並對外部提供另一種表現形式

standardaction:標準實現類,用來實現iaction插口的功能,對外展示也是以iaction介面為準的

implement:對外公開的呼叫類,它向外界公開兩種介面方法,一是iaction介面標準,一是action委託標準

#region 裝飾模式

public

inte***ce

iaction

sealed

class

delegateaction : iaction

public

void print(int

a)

}public

class

standardaction : iaction

}public

class

implement

public

void run(actionaction)

}#endregion

呼叫的**

implement implement = new

implement();

implement.run((a) => console.writeline(a));//

委託action呼叫法

implement.run(new standardaction());//

iaction物件呼叫法

返回目錄

說說設計模式 裝飾器模式 Decorator

裝飾器模式,也叫又叫裝飾者模式,顧名思義,將乙個物件進行包裹,包裝,讓它變成乙個比較滿意的物件,這種模式在我們平時專案開發中,經常會用到,事實上,它是處理問題的一種技巧,也很好的擴充套件了程式,讓程式 不那麼死板!1.需要擴充套件乙個類的功能,或給乙個類新增附加職責。2.需要動態的給乙個物件新增功能...

設計模式 裝飾器模式

裝飾器模式 decorator pattern 允許向乙個現有的物件新增新的功能,同時又不改變其結構。這種型別的設計模式屬於結構型模式,它是作為現有的類的乙個包裝。這種模式建立了乙個裝飾類,用來包裝原有的類,並在保持類方法簽名完整性的前提下,提供了額外的功能。public inte ce playe...

設計模式 裝飾器模式

裝飾者模式的應用場景 裝飾者模式 decorator pattern 是指在不改變原有物件的基礎之上,將功能附加到物件上,提供了比繼承更有彈性的替代方案 擴充套件原有物件的功能 屬於結構型模式。裝飾者模式在我們生活中應用也比較多如給煎餅加雞蛋 給蛋糕加上一些水果 給房子裝修等,為物件擴充套件一些額外...