GOF 設計模式 工廠方法模式 筆記

2021-10-23 13:33:31 字數 955 閱讀 4104

意圖:定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。factorymethod 使乙個類的例項化延遲到其子類。

結構

在以下情況使用

工廠方法本身並不生產物件,它將生產的物件延遲到了子類工廠實現。

食物 food

public class food
noodle

public class noodles extends food 

}

rice

public class rice extends food 

}

food工廠

public abstract class foodfactory
noodle工廠

public class noodlesfactory extends foodfactory 

}

rice工廠

public class ricefactory extends foodfactory 

}

生產過程

public static void main(string args)
也可以使用引數化工廠方式,提供乙個引數,自動找到具體工廠進行生產。

也可以將foodfactory做乙個預設的實現。

但是要增加乙個產品就要增加乙個具體工廠,增加了**量。

abstract factory 經常使用工廠方法來實現,工廠方法通常在模板方法中被呼叫。

原型模式不需要建立creator的子類,但是它們通常需要乙個初始化原型的操作,工廠方法不需要。

設計模式筆記(六) 工廠方法模式

工廠方法模式 factorymethod 實現時由客戶端需要決定例項化哪乙個工廠來實現運算類。using system namespace studesignmode.factorymethod public double numb public virtual double getresult 加...

設計模式筆記 工廠方法模式

1.意圖 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。factory method使乙個類的例項化延遲到其他類 2.別名 虛構造器 3.動機 框架使用抽象類定義和維護物件之間的關係。這些物件的建立通常也由框架負責 4.適用性 在下列情況下可以使用factory method模式 當乙個類不...

設計模式筆記 工廠方法模式

定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使乙個類的例項化延遲到其子類。抽象產品類 public abstract class product public abstract void method2 具體產品類 public class concreteproduct1 ext...