1、引言
????????假如客戶想吃水果箭跳,如蘋果继薛,葡萄,橘子等钉凌,在沒有工廠模式之前,客戶需要自己去種植捂人,采摘等流程御雕,是不是很費力,如果有種植園滥搭,只需交錢購買就好了酸纲。java的工廠模式就是這樣。下面我們開始了解工廠模式瑟匆。
2闽坡、種類
工廠模式分為簡單工廠模式,工廠方法模式愁溜,抽象工廠模式疾嗅,其中抽象工廠模式和工廠模式一個級別,此處為了介紹方便冕象,歸為工廠模式的子級代承。
3、學習
3.1渐扮、簡單工廠模式
? ? ? ?從上面代碼明顯可以看出论悴,簡單工廠模式使用簡單,但擴展性差墓律,如果每增加一個具體實現類膀估,相應就要修改工廠類,同時不符合“開閉原則”耻讽。
3.2察纯、工廠方法模式
? ? ? 工廠方法模式其實就是在簡單工廠模式的基礎上進行了改進優(yōu)化,解決了擴展性差,不符合“開閉原則”等問題捐寥。
????????從代碼可以看出和簡單工廠模式的區(qū)別:每個生產者都有對應工廠類笤昨,具體的工廠類都實現了共同的接口,如果新增一種水果握恳,只需增加相應的工廠類即可瞒窒,不用修改原有的代碼,符合“開閉原則”乡洼,擴展性也有了較大的提升崇裁。
3.3、抽象工廠模式
????????抽象工廠模式是在引入了產品等級和產品族的概念束昵。如海爾電視拔稳,海信電視,創(chuàng)維電視等锹雏,同一個產品不同的廠家這就是產品等級巴比。如海爾下面有海爾電視,海爾空調礁遵,海爾冰箱等構成了一個產品族轻绞。相對于工廠方法模式,抽象工廠模式構成更加復雜佣耐。適用于一個產品由多個系列政勃,而不同的系列又有各自的屬性方法。
????????抽象工廠模式由一個工廠抽象類兼砖,一個生產抽象類奸远,多個具體生產實現類,多個工廠具體實現類組成讽挟。
????????為了學習者學習有更為深刻的印象懒叛,故本文章幾乎所有介紹及代碼貼入圖片,學習者最好將文字說明及代碼親自敲寫一遍耽梅。