上一節說到了簡單工廠模式 :
通過例項化蘋果手機的案例,將簡單工廠模式做了簡單的介紹。
我們可以將例項化蘋果手機這樣的複雜操作,放置到乙個單獨的工廠類中封裝起來。這樣我們需要例項化的時候直接呼叫工廠類的方法就可以了。
但是。如果隨著業務的越來越複雜,手機的品種越來越多,我們這個工廠類需要維護的地方也會越來越多,需要不停的對這個類做修改,這已經嚴重違反了設計模式中的兩個原則 「單一原則」,「開閉原則」。
所以今天說的這個模式 「工廠方法模式」,就可以解決這個問題。
比如說,我們的手機工廠現在不僅需要生產蘋果手機,還需要生產華為,小公尺手機等等。
為了保證「單一原則」(所謂的單一原則,就是乙個類只關注一種操作),可以為不同的手機成立不同的工廠
手機工廠介面
public inte***ce phonefactory
蘋果手機工廠
public class iphonefactory implements phonefactory
}
華為手機工廠
public class huaweifactory implements phonefactory
}
這樣我們需要獲取華為手機只要
phonefactory factory = new huaweifactory();
factory.getphone();
就可以了
工廠方法模式在實際的應用也是很多的。mybatis中的sqlsessionfactory就是工廠方法模式
Java 23種設計模式之工廠方法模式
定義乙個用於建立物件的介面,讓子類決定例項化哪個類。工廠方法使乙個類的例項化延遲到其子類。public inte ce ileifeng1.產品一 學生 public class student implements ileifeng override public void wash overri...
Java23種設計模式之工廠方法模式
一 什麼是工廠方法模式 工廠方法模式同樣屬於類的建立型模式又被稱為多型工廠模式 工廠方法模式的意義是定義乙個建立產品物件的工廠介面,將實際建立工作推遲到子類當中。核心工廠類不再負責產品的建立,這樣核心類成為乙個抽象工廠角色,僅負責具體工廠子類必須實現的介面,這樣進一步抽象化的好處是使得工廠方法模式可...
java23中設計模式之工廠模式
參考 工廠模式分為三種 1 簡單工廠模式,就是建立乙個工廠類,對實現了同一介面的一些類進行例項的建立。2 多個工廠模式,就是在普通工廠方法中,若傳遞的字串出錯,則不能建立物件,而多個工廠模式就是提供多個工廠方法分別建立物件。3 靜態工廠模式,將多個工廠模式裡的方法設定為靜態的,不需要建立例項直接呼叫...