重溫C#設計模式---1

簡單工廠模式,工廠模式和抽象工廠模式

SFPSimple Factory Pattern)通常是根據提供給它的數據,來返回幾個可能類中的一個類的實例。通常它返回的類都有個一個共同的父類和方法,但每個方法的任務不同,而且根據不同的數據進行了優化。

例子1:通過輸入不同格式的名字來返回你的firstnamelastname:

首先是父類:

 

按照概念,應該有兩個或以上的子類來繼承父類:

 

最後是簡單工廠類,通過它來判斷應該選擇哪個子類來執行:

 

運行結果:

 

例子2:快速傅里葉變換:

因爲在快速傅里葉變換中當y爲零時計算公式比較特殊,所以我們可以把普通情況和特殊的y=0情況視爲和上面那個例子中的firstfirstlastfirst兩種相似的情況。

 

經過80次變換後的最終結果:

 

 

工廠方法模式:

FMP(Factory Method Pattern)SFP上升級了,它不再去使用一個類來決定實例化哪個子類,相反超類把決定權延續到每個子類。

例子:

 

抽象類中定義了很多方法,子類中國重載它的某些方法來實現特殊的功能,例如:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章