工廠模式的實現3

2021-09-26 21:15:11 字數 1207 閱讀 1107

為了避免這種情況,我們又引入了新的模式就是抽象工廠模式。

簡單的說,抽象工廠模式就是在工廠模式的基礎上,讓乙個工廠可以生產多個產品,而這些產品同時應該是屬於同乙個工廠的。

首先我們建立兩個產品car和bike,並為他們分別提供乙個實現方法:

package day01;

inte***ce car

package day01;

inte***ce bike

然後我們分別為兩個產品介面實現兩個產品實現:

package day01;

public class benchicar implements car

}

package day01;

public class baomacar implements car

}

package day01;

public class doublebike implements bike

}

package day01;

public class thridbike implements bike

}

然後我們建立乙個工廠介面,裡面定義了兩種方法用來獲取不同的物件:

package day01;

inte***ce abstractfactory

然後建立乙個具體工廠,用來實現工廠介面:

package day01;

public class factory implements abstractfactory

@override

public bike createbike()

}

最後我們在客戶端測試一下:

package day01;

public class client

}

到了這一步,抽象工廠模式就已經完成了。

我們發現,抽象工廠的操作物件,如果是乙個新的產品族,比如本例中新添乙個train,只需要新添具體實現和新的具體工廠即可。但如果物件是乙個新的產品等級,比如本例新添乙個dazongcar(屬於car),就意味著需要大量的更改原始碼,顯然這不符合開閉原則!

3 工廠模式

3 工廠模式 定義 為建立物件定義乙個介面,讓子類決定例項化那個類。工廠方法讓乙個類的例項化延遲至子類。工作模式封裝了例項化過程,client無需關心例項化的細節。使用工廠模式的場景 i.client不關心那個具體類,只關心實現的功能 ii.建立過程比較複雜 eg.讀取配置,初始化其他基礎類 iii...

設計模式之工廠模式 3 抽象工廠模式

使用抽象工廠模式完成披薩案例 是乙個抽象工廠模式的抽象層 public inte ce absfactory public class bjfactory implements absfactory else if ordertype.equals pepper return pizza publi...

python工廠模式 簡書 3 工廠模式

1.介紹 模式名稱 工廠模式 解決方案 定義乙個建立物件的介面,讓其子類自己決定例項化哪乙個工廠類,工廠模式使其建立過程延遲到子類進行。讓其子類實現工廠介面,返回的也是乙個抽象的產品。2.遵守的原則 開閉原則 對擴充套件開放,對修改關閉 依賴倒轉原則 要針對介面程式設計,不要針對實現程式設計 迪公尺...