23種設計模式 2 工廠方法模式

2021-09-07 16:30:39 字數 1373 閱讀 9757

定義:定義乙個用於建立產品物件的方法,由該工廠類根據傳入的引數,動態決定應該建立哪乙個產品類(這些產品類繼承自乙個父類或介面)的例項。

型別:建立類模式

public

inte***ce

smsservice

public

class montnetssmsservice implements

smsservice

}public

class etonenetsmsservice implements

smsservice

}public

class

smsservicefactory

return

ss; }

public

static

void

main(string args)

}

定義:定義乙個用於建立產品物件的介面,由子類決定例項化哪乙個類,工廠方法使乙個類的例項化延遲到其子類。

型別:建立類模式

類圖:

工廠方法模式**:

public

inte***ce

smsservice

//工廠介面

public

inte***ce

smsservicefactory

public

class montnetssmsservice implements

smsservice

}public

class etonenetsmsservice implements

smsservice

}/**

* 工廠實現類 */

public

class smsservicefactoryimpl implements

smsservicefactory

return

ss; }

public

static

void

main(string args)

}

工廠方法模式:

通過工廠方法模式的類圖可以看到,工廠方法模式有四個要素:

上文提到的簡單工廠模式跟工廠方法模式極為相似,區別是:簡單工廠只有三個要素,他沒有工廠介面,並且得到產品的方法一般是靜態的(紅色注釋部分)。因為沒有工廠介面,所以在工廠實現的擴充套件性方面稍弱,可以算所工廠方法模式的簡化版。

如寫的不好,歡迎拍磚!

ps:

23種設計模式(2) 工廠方法模式

定義 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類,工廠方法使乙個類的例項化延遲到其子類。型別 建立類模式 類圖 工廠方法模式 inte ce iproduct class product implements iproduct inte ce ifactory class factory ...

23種設計模式(2) 工廠方法模式

定義 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類,工廠方法使乙個類的例項化延遲到其子類。型別 建立類模式 類圖 工廠方法模式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 inte ceipr...

23種設計模式(2) 工廠方法模式

定義 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類,工廠方法使乙個類的例項化延遲到其子類。型別 建立類模式 類圖 工廠方法模式 inte ce iproduct class product implements iproduct inte ce ifactory class factory ...