簡單工廠和工廠方法的區別

2021-08-04 00:07:17 字數 677 閱讀 1457

生命不息,學習不止。從今天開始記錄我學習過程遇到的覺得重要的有意思的知識。

今天來說一下,簡單工廠和工廠方法的核心概念以及就區別。首先我們要明白什麼是工廠,工廠其實是相當於現實生活中的工廠。我們需要乙個產品,如乙個長虹電視我們有兩種方法得到它。第一,自己做。第二,通過工廠生產得到它。如果用第一種方法自己生產,那麼當我們再需要另一台不同的電視如創維電視我們還是必須自己生產,也就是當我們需要什麼都要自己生產(new  乙個產品物件)。通過工廠就不一樣了,我們需要什麼就向工廠拿就可以了。工廠又分為簡單工廠、工廠方法和抽象工廠。

簡單工廠,它的實質是乙個類,提供乙個共有的靜態的帶引數的獲取產品物件的方法。獲取哪個產品由傳遞的引數決定。如這樣

public class ******factory else if("chuangwei".equals(tv))

return null; }}

當我們還要乙個小公尺電視的時候,就要修改這個工廠方法,即加上 else if ("xiaomi".equalse(tv)).也就是說簡單工廠每增加乙個產品都要修改工廠原始碼。

工廠方法,其實質是介面。把工廠定義成介面,裡面定義乙個獲取產品的方法。然後為每乙個產品寫乙個繼承自這個工廠介面的實現類,即實現工廠(獲取到產品物件)。這樣當我們要增加乙個產品的時候,只要增加乙個產品實體類並為產品寫乙個實現了工廠介面的實現工廠就可以了,不必修改工廠原始碼。也不會影響其它產品。

簡單工廠,工廠方法和抽象工廠的區別

看了網路上很多關於設計模式的方法,有的模式看起來相似,但本質還是區別很大的.像簡單工廠,工廠方法和抽象工廠就有很明顯的區別.有乙個比較好理解的例子,在這跟大家介紹下 1.如果乙個後花園只種蔬菜類,那麼就用簡單工廠就可以了.2.如果後花園蔬菜品種繁多.得用工廠方法才可以,把共有的東西抽象出來.3.如果...

簡單工廠 工廠方法和抽象工廠的區別

1 簡單工廠模式 定義乙個工廠類,它可以根據引數的不同返回不同類的例項,被建立的例項通常都具有共同父類。因為在簡單工廠模式中用於建立例項的方法是靜態方法,所以簡單工廠模式也可以稱為靜態工廠方法模式,是一種類建立型模式。在簡單工廠模式中,工廠類只生產一類產品,所有具體的產品的建立都集中於工廠類中,根據...

簡單工廠 工廠方法 抽象工廠的區別

定義乙個工廠類,它可以根據引數的不同返回不同類的例項,被建立的例項通常都具有共同的父類。因為在簡單工廠模式中用於建立例項的方法是靜態 static 方法,因此簡單工廠模式又被稱為靜態工廠方法 優點 簡單易於實現,把類的例項化交給工廠,易於解耦。缺點 違反了ocp開閉原則。案例 jdk日期格式化dat...