小姚說一下工廠模式

真的很怕誤導別人,可是我又想寫出來請你們指正,若是你是新手,仍是找更專業一點的文章。由於我也是新手。設計模式

這幾天都再看設計模式,不過看了好久仍是在看工廠模式,總得來講,我知道了工廠模式分爲三種:.net

1.簡單工廠SimpleFactory設計

2.工廠方法FactoryMethod對象

3.抽象工廠AbstractFactory繼承

關於那些結構之類的就不畫了,網上不少,我只是寫一些我的的理解,若有不當,還請指出。接口

首先說的時簡單工廠,簡單工廠我理解就是專門爲了建立一個對象而被設計出來的一個類。get

如下就是簡單工廠的文件結構:it

image

在工廠裏面,經過調用工廠的時候判斷傳進來的參數不一樣來生成不一樣的工廠:基礎

image

結果就是咱們能夠得到本身想要建立的對象。方法

而後說的時工廠方法,工廠方法其實跟簡單工廠差很少,可是區別是在工廠自己,簡單工廠是沒有繼承或實現某個類或某個接口,可是工廠方法恰好具有這些。

工廠方法的文件藉口以下:

image

在實現類裏面只有一個方法:

image

其實這裏面就有一個疑問,我再網上看到絕大多數文章都是返回一個具體的類,經過多態轉爲父類返回,可是我也有看到用上面這種方式的,相比於返回一個具體的類,我以爲用這種方法更爲簡單,只要傳一個Class進來就能夠,你以爲呢?

最後說的是抽象工廠,抽象工廠我理解爲就是在工廠方法的基礎上多了一些其餘的返回類型,就是不僅一個,有多個。

image

相關文章
相關標籤/搜索