簡單工廠模式

2021-09-30 19:03:18 字數 1314 閱讀 9933

簡單工廠模式,顧名思義,就是應用在業務比較簡單的情景下

我們用乙個例子來引出這個模式

有乙個顧客,要去買車,現在有aodi,bmw兩個牌子供他選擇

此時顧客買車只需要new一下就ok了

但是我們發現了,此時的new,相當於建立,但是顧客買車僅僅只是告訴4s店,我要哪款車,建立車是4s店的事情,我只需要拿到車就可以了。

此時我們就要引入乙個類,當做工廠類,去建立車

並且我們發現,bmw,aodi雖然都是不同品牌,但是他們做的事情是一樣的,都是賣車,賣車上的裝飾品等,具有一系列相同的動作,那麼我們就可以把它歸為乙個類car類,bmw,aodi類只需要實現car這個藉口就可以了

我們此時只需要在工廠裡生產車就可以了,並且工廠是已有的,我們並不需要在顧客提車時去建立乙個工廠再來去生產車,故我們應該在工廠的create方法上加上static即可

具體的建立方法如下

此時我們消費者就不用管這個生產的步驟了

一下附上我們這次**的整體結構圖

但是簡單工廠模式有個弊端,就按如上**來說,若我們需要增加乙個品牌的銷售,如長安,name我們只能去修改工廠類裡面的**了,不符合開閉原則,故簡單工廠模式可能只適合於簡單的業務邏輯

工廠模式 簡單工廠

簡單工廠其實並不是乙個設計模式,反而比較像一種程式設計習慣。我個人的這樣總結簡單工廠 建立乙個類,封裝建立物件的 故事 現在我要開一家披薩店,叫bbk 必敗客 披薩,賣很多種披薩 芝士披薩 榴蓮披薩等等,我有乙個orderpizza string type 方法,根據客戶傳來的type來提供不同的披...

工廠模式 簡單工廠

工廠 處理建立物件的細節。目的 將例項化具體類的 從應用中抽離,或者封裝起來,可以避免干擾應用的其他部分。簡單工廠 簡單工廠其實不是乙個設計模式,反而像一種程式設計習慣。產品實現 desc 產品a public inte ce a class a1 implements a override pub...

簡單工廠模式,工廠模式,抽象工廠模式

三種模式看了一天,記錄下自己的理解 headfirst,比薩店為例 1,簡單工廠模式 乙個具體的工廠類 pizzafactory 乙個抽象的產品類pizza,可以派生出多個具體的產品類 客戶 pizzastore類 工廠類 pizzafactory類關聯產品類pizza,工廠生產出不同型別的pizz...