設計模式 工廠方法模式

2021-10-01 08:47:11 字數 912 閱讀 1381

工廠方法模式,又稱工廠模式、多型工廠模式和虛擬構造器模式,通過定義工廠父類負責定義建立物件的公共介面,而子類則負責生成具體的物件。客戶端不需要知道具體產品類的類名,只需要知道所對應的工廠即可

優點:新增一種產品時,只需要增加相應的具體產品類,再通過實現抽象工廠介面實現新產品的工廠類即可,不需要改動任何原有**

仍然以手機類和具體型號的手機為例:

建立工廠類介面:

abstract class phonefactory
建立抽象產品類(手機類):

//蘋果手機

public abstract class phone

建立huaweip30 ,xiaomi9 ,iphonexr 這三個具體型號的手機。

@override

public void getname() }

public class xiaomi9 implements phone}

public class iphonexr implements phone}

建立具體工廠類(實現抽象工廠介面),定義建立對應具體產品例項的方法(iphonexr工廠類)

//蘋果手機工廠 - 生產iphonexr產品

class iphonefactory implements phonefactory

}

客戶端使用例項:

//拿到iphonexr手機

public class factorypattern

}

設計模式 工廠方法模式

一 工廠方法 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...