工廠模式

工廠模式面試時候問到,千萬別隻會答一種,血的教訓,面試官說學一樣東西,就方方面面瞭解清楚,不要只會用一種或者一知半解地使用。
常見工廠模式有三種:

(1)簡單工廠模式(根據類型判斷)

在這裏插入圖片描述
優點:清晰明瞭,邏輯簡單。
缺點:類型多的情況下寫N個if else if,硬編碼改動大,難維護。

(2)工廠方法模式

在這裏插入圖片描述
優點:工廠抽象化成接口,作爲一種規範作用,具體的手機生產任務分配給所有實現了這個接口的子工廠去實現。權責明確,改動的時候只需要修改對應的實現類就可以。
缺點:每新增一個類型的手機,就新增一個實現類,總體上工作量並沒有減少。而且相對於根據類型創建的工廠模式來說,邏輯還複雜,調用的時候是用相關的實現類來生產,也是屬於硬編碼。
當有不同類型的產品生產時(例如電視機),要重新配一套生產線(接口+實現類)。

(3)抽象工廠模式

顧名思義,就是對工廠模式的抽象。
既然某一個工廠負責生產某一樣產品,那麼就抽象出 : 工廠就是生產產品的概念,那麼就高度抽象出一層工廠的接口用來做工廠的規範化管理。
抽象工廠管理着負責生產的子工廠,子工廠也是一層接口規範,管理着子工廠的實現類工廠,這樣一層層規範下來,就會變得非常的高大上。
當然,假如不嫌棄麻煩,或者真的是業務需要或者爲了僞裝的很高大上的玩意。也可以一層層三四五六層這樣套下去,實際上很多框架都是這樣做,每一層的工廠都做了一些自己獨有的事情。
在這裏插入圖片描述
優點:高大上,能適應更加複雜的業務邏輯需求,高度抽象,靈活度高。
缺點:苦澀難懂

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章