一直都對php的設計模式有著一種特殊的「情結」,
從最開始接觸到的單例模式,到經典的mvc設計模式,每次的接觸都讓我為之驚奇。
買了本php設計模式在家看,發現,**,都是專有名詞,再加上太專業的術語,讓我沒有看下去的勇氣。
無意之中逛論壇,發現乙個部落格,關於php的五種設計模式,其中就有工廠模式。
看完後,第一反應就是,原來是這樣的啊。
原來是怎樣的呢?
首先,抽象父類a。提供乙個抽象方法,由子類繼承。且對應的方法必須整合並且實現這個方法。
其次,子類b實現從父類繼承的抽象方法,不同的子類實現不同的方法。
最後,乙個工廠類。
工廠類其實就是根據使用者不同的輸入,進行例項化不同的子類b.
好處:如果直接寫在乙個類裡面,用switch case 進行分支判斷,那麼每增加乙個方法,就要修改原來的**,風險比較大。可能把原來的**改錯了。而且隨著**量的增加,單個的方法就會變得龐大,不易於維護和看懂。
若使用工廠方法,只需要進行增加乙個b類,在工廠類裡面加乙個分支即可。他不會影響原來的**的實現。(當然,也有可能在原來的工廠類中將**改錯)
參照
php設計模式之工廠模式
工廠模式的最大優點在於建立物件上面,就是把建立物件的過程封裝起來,這樣隨時可以產生乙個新的物件。減少 進行複製粘帖,耦合關係重,牽一發動其他部分 通俗的說,以前建立乙個物件要使用new 現在把這個過程封裝起來了。假設不使用工廠模式 那麼很多地方呼叫類a 就會這樣子建立乙個例項 new a 假設某天需...
php模式設計之 工廠模式
那麼何為工廠模式?從名字來看,似乎看不出什麼端倪。工廠模式,和生產有關?還是和生產流程 子了,所謂工廠模式還真和生產有關。生產什麼呢?生產出來的是乙個例項物件。通過什麼裝置生產?通過乙個工廠類生產。怎麼生產呢?工廠類呼叫自身靜態方法 來生產物件例項。工廠模式有乙個關鍵的構造,根據一般原則命名為fac...
php設計模式之工廠模式
在 1994 年,由 erich gamma richard helm ralph johnson 和 john vlissides 四人合著出版了一本名為 design patterns elements of reusable object oriented software 中文譯名 設計模式...