裝飾器模式,也叫又叫裝飾者模式,顧名思義,將乙個物件進行包裹,包裝,讓它變成乙個比較滿意的物件,這種模式在我們平時專案開發中,經常會用到,事實上,它是處理問題的一種技巧,也很好的擴充套件了程式,讓程式**不那麼死板!
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 = newimplement();
implement.run((a) => console.writeline(a));//
委託action呼叫法
implement.run(new standardaction());//
iaction物件呼叫法
說說設計模式 裝飾器模式 Decorator
返回目錄 裝飾器模式,也叫又叫裝飾者模式,顧名思義,將乙個物件進行包裹,包裝,讓它變成乙個比較滿意的物件,這種模式在我們平時專案開發中,經常會用到,事實上,它是處理問題的一種技巧,也很好的擴充套件了程式,讓程式 不那麼死板!1.需要擴充套件乙個類的功能,或給乙個類新增附加職責。2.需要動態的給乙個物...
設計模式 裝飾器模式
裝飾器模式 decorator pattern 允許向乙個現有的物件新增新的功能,同時又不改變其結構。這種型別的設計模式屬於結構型模式,它是作為現有的類的乙個包裝。這種模式建立了乙個裝飾類,用來包裝原有的類,並在保持類方法簽名完整性的前提下,提供了額外的功能。public inte ce playe...
設計模式 裝飾器模式
裝飾者模式的應用場景 裝飾者模式 decorator pattern 是指在不改變原有物件的基礎之上,將功能附加到物件上,提供了比繼承更有彈性的替代方案 擴充套件原有物件的功能 屬於結構型模式。裝飾者模式在我們生活中應用也比較多如給煎餅加雞蛋 給蛋糕加上一些水果 給房子裝修等,為物件擴充套件一些額外...