2014-06-06 59 views
2

我搜索得越多,我就越困惑。工廠設計模式是抽象工廠和工廠方法的超類嗎?或者它是靜態工廠的另一個名稱?工廠方法設計模式中的工廠設計模式與目標c中的抽象工廠有什麼區別?

+0

?這些名稱不用於識別獨特模式(我的意思是沒有共同的協議)。 GoF例如標識工廠方法和抽象工廠設計模式。 –

+0

在objective-c中,類簇被用作抽象工廠。看到這個答案:http://stackoverflow.com/a/23094194/1059025 – quellish

回答

0

因此減少混淆:

工廠方法和抽象工廠是兩個不同的唯一命名的設計模式。唯一名稱對於從另一個名稱中識別它們很重要。它們都屬於對象創建設計模式類別(或類別)。雖然是創造性的設計模式,但它們是解決非常不同的對象創建相關問題的解決方案

名稱「工廠設計模式」或「靜態工廠」並不常用來表示獨特的設計模式。一般來說,術語「工廠」被用來指代任何創建的對象(所以你可以談論一個工廠類,工廠對象,工廠方法等,但清楚地知道,有一個名爲「工廠法」的獨特設計模式以及)。

而且,術語「靜態工廠」可以公開地被用來談論與具有即使被廣泛接受的唯一模式不以該名稱存在的對象造物責任的靜態方法的類。

有沒有權力指派名稱的設計模式。只有一些設計模式變得流行,然後他們的名字被廣泛用於引用它們。

沒有得到普及設計模式仍然可以使用的名稱,但其他人可能在不知不覺中使用相同的名稱來指代不同的事情。所以名稱「工廠設計模式」和「靜態工廠」仍然對公衆開放使用,因爲他們喜歡,直到有人他們註冊爲你在工廠設計模式和靜態工廠意味着什麼商標:)