工廠方法模式和簡單工廠一樣是乙個很簡單易懂的模式,簡單工廠是傳入不同的引數來獲取想要的物件,工廠方法模式就是,一類或者乙個產品有乙個專門的工廠。
工廠方法模式的角色:
1. 抽象的產品介面
2. 抽象的工廠介面
3. 具體產品
4. 生產具體產品的工廠
下面上**,以生產汽車為例,我們要分別生產賓士汽車和大眾汽車:
汽車介面:
public inte***ce car
汽車工廠介面:
public inte***ce ca***ctory
賓士汽車和大眾汽車實現類:
public class benz implements car
}
public class vw implements car
}
賓士汽車工廠和大眾汽車工廠實現類:
public class benzfactory implements ca***ctory
}
public class vwfactory implements ca***ctory
}
測試**:
public class factorymethodtest
}
測試結果:
我是賓士車,我以很快的速度在執行
我是大眾車,我以比較快的速度執行
工廠方法模式優點:
1. 體現單一職責原則,一種工廠只生產一種商品
2. 提現開閉原則,增加產品就要增加工廠,對修改關閉,對擴充套件開放
3. 迪公尺特原則,黎克特制替換,依賴倒置,都有體現,但是介面隔離還是沒有充足的體現
缺點:1. 雖然工廠方法模式是符合開閉原則的,但是同時也是它的缺點,因為如果有上千上萬個產品,會類**。
java工廠方法模式
在看下面講解之前,最好還是先看下筆者的簡單工廠模式,因為我的例子,是有聯絡的 目錄 工廠介面 工廠介面,抽象出工廠具體的公有方法 inte ce factory 工廠實現類 工廠實現類 class pianofactory implements factory class motorcyclefac...
工廠方法模式 工廠方法模式
工廠方法模式是簡單工廠模式的公升級版,簡單工廠模式不符合設計模式的原則 即 單一職責,開閉原則 優點 職責明確,擴充套件方便 缺點 需要建立多個工廠 實現步驟 1.將工廠通用方法抽取介面 例如 ifactory 2.將產品抽取介面 例如 icar 3.實現各種產品 例如 baomacar,benti...
Java設計模式 工廠方法
定義乙個用於建立物件的介面,factory method將乙個類的例項化延遲到了子類。工廠方法模式的功能 工廠方法的主要功能是讓父類在不知道具體實現的情況下,完成自身的功能呼叫,而具體的實現延遲到子類來實現。實現成抽象類 工廠方法的實現中,通常父類會是乙個抽象類,裡面包含建立所需物件的抽象方法,這些...