工廠方法模式意在分離產品與建立的兩個層次,使得使用者在乙個工廠池中科院選擇想使用的產品,而忽略其建立過程。
進一步說,就像乙個大型工廠,對消費者而言,只需知道都有什麼工廠的產品生產出來,而不必關注產品是如何生產的,但對於工廠來說,需要知道產品的製造過程。
creator: 建立工廠的介面
concretecreator: 具體產品實現
produce 產品介面
concreteproduct :具體產品實現
1 當乙個類不知道它所必須建立的物件的類的時候。
2 當乙個類希望由他的子類來制定它所建立的物件的時候
3 當類建立物件的職責委託給多個幫助子類中的某乙個,並且希望進行一些資訊的區域性初始化的時候。
4.實際應用
應用場景:
1.jdk中calendar的getinstance方法
2.spring中ioc容器建立管理bean物件
3.hibernate中sessionfactory建立session
4.jdbc中connection物件的獲取
5.xml解析時documentbuilde***ctory建立解析工廠
6.反射中class物件的newinstance()
package org.factory.factorymethod;
2 3 public inte***ce ca***ctory
6 7 package org.factory.factorymethod;
8 9 public inte***ce car
12 13 public class audifactory implements ca***ctory
20 21 }
22 23 public class bydfactory implements ca***ctory
30 31 }
32 33 public class benzfactory implements ca***ctory
40 41 }
42 43 public class audi implements car
50 51 }
52 53 public class benz implements car
60 61 }
62 63 public class byd implements car
70 71 }
72 73 package org.factory.factorymethod;
74 75 public class client
85 86 }
設計模式 工廠方法模式
一 工廠方法 factory method 模式 工廠方法模式的意義是定義乙個建立產品物件的工廠介面,將實際建立工作推遲到工廠子類當中。核心工廠類不再負責產品的建立,這樣核心類成為乙個抽象工廠角色,僅負責具體工廠子類必須實現的介面,這樣進一步抽象化的好處是使得工廠方法模式可以使系統在不修改具體工廠角...
設計模式 工廠方法模式
1 factorymethod.h ifndef factorymethod h define factorymethod h include include using namespace std class osproduct 產品,product,產品的抽象類 class windowspro...
設計模式 工廠方法模式
框架的基礎知識 對框架的理解 框架和設計模式的關係 工廠方法模式 定義 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類,factory method使乙個類的例項化延遲到其子類。結構 產品 public inte ce product 具體產品 public class productimpl...