C 抽象工廠模式的幾種實現方法及比較

2022-07-29 05:21:12 字數 784 閱讀 8919

我們的fruitfactory應該是怎麼樣呢?上面的結構圖中它給的是createproducta,那好,我就makeorange,還有乙個createproductb,俺makeorange還不行??

怎麼使用這個工廠呢?我們來寫下面的**:

編譯執行,然後在控制台輸入想要的東西,呵呵,成功了。沉浸在幸福中的你得意忘形了吧。

不過等等,它好像還不完美,我如果想要pear,我既要在客戶**中的switch中加入判斷,又要在工廠方法中加入makepear方法,好像不怎麼優雅。更好一點,在工廠中只提供乙個方法,makefruit,然後傳遞進乙個引數name,代表我們想要的水果的名稱,這樣的話,似乎我們的客戶**中的那個switch就可以不要了,相反,在fruitfactory中好像需要乙個,還等什麼呢?實現吧。

客戶**:

string fruitname = console.readline();

ifruit myfruit;

fruitfactory myfruitfactory = new fruitfactory();

myfruit = myfruitfactory.makefruit(fruitname);

public class fruitfactory

catch (typeloadexception e)

console.writeline("i dont know this kind of fruit,exception caught - " ,e.message);

return myfruit;

} }

C 抽象工廠模式的幾種實現方法及比較

利用設計模式可以使我們的 更靈活,更容易擴充套件,更容易維護。各種 物件導向的程式語言都提供了基本相同的機制 比如類 繼承 派生 多型等等。但是又有各自的特色,c 中的反射機制便是乙個很重要的工具,好好地利用就可以在實際中發揮很大的作用。我們來看乙個例子 哦,我們都看設計模式,聽吧,很多人都在那裡鼓...

C 抽象工廠模式的幾種實現方法及比較

利用設計模式可以使我們的 更靈活,更容易擴充套件,更容易維護。各種物件導向的程式語言都提供了基本相同的機制 比如類 繼承 派生 多型等等。但是又有各自的特色,c 中的反射機制便是乙個很重要的工具,好好地利用就可以在實際中發揮很大的作用。我們來看乙個例子 哦,我們都看設計模式,聽吧,很多人都在那裡鼓吹...

C 抽象工廠模式的幾種實現方法及比較

利用設計模式可以使我們的 更靈活,更容易擴充套件,更容易維護。各種物件導向的程式語言都提供了基本相同的機制 比如類 繼承 派生 多型等等。但是又有各自的特色,c 中的反射機制便是乙個很重要的工具,好好地利用就可以在實際中發揮很大的作用 我們來看乙個例子 下面的一些東西顯然是我們需要的 public ...