設計模式2 工廠方法模式

2021-08-27 08:25:55 字數 468 閱讀 8540

定義:定義乙個建立物件的介面,但讓實現這個介面的類來決定例項化哪個類。工廠方法讓類的例項化推遲到子類中進行。

注:可能有人覺得定義中說的有點不好懂。下面摘抄的解釋:

工廠方法讓子類決定要例項化的類是哪乙個。所謂的 「決定」 並不是指模式允許子類本身在執行時做決定,而是指在編寫建立者類時,不需要知道實際建立的產品是哪乙個。選擇了使用哪個子類,自然決定了實際建立的產品是什麼。

其實看完解釋,在看完**,呵呵:我不需要知道實際建立的產品是哪乙個,我怎麼選使用哪個子類?

適用場景 優點

缺點**實現跟下面的類圖不太一致。換湯不換藥。

下面的圖從慕課網扣來的。很好理解了。

圖中的線分別什麼意思可參考我的uml類圖

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

工廠方法模式 定義 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使用乙個類的例項化延遲到子類。舉個栗子 我們要生產水果罐頭,我們應該怎麼做呢?首先,我們需要準備好原料。其次我們需要乙個罐頭工廠,往工廠裡運送不同的原料,出來的就是不同的罐頭。原料就是蘋果啊 橘子啊等等的這些類。int...

設計模式2 工廠方法模式

工廠方法模式同樣屬於類的建立型模式又被稱為多型工廠模式 工廠方法模式的意義是定義乙個建立 產品物件的工廠介面,將實際建立工作推遲到子類當中。核心工廠類不再負責產品的建立,這樣核心類成為乙個抽象工廠角色,僅負責具體工廠子類必須實現的介面,這樣進一步抽象化的好處是使得工廠方法模式可以使系統在不修改具體工...

設計模式2 工廠方法模式

工廠方法模式 定義 定義乙個用於建立物件的介面,讓子類決定例項化哪個類。工廠方法使乙個類的例項化延遲到其子類。類圖 抽象產品類product負責定義產品的共性,實現對事物最抽象的定義。creator為抽象建立類,也就是抽象工廠,具體如何建立產品類是由具體的實現工廠concretecreator完成的...