設計模式之工廠方法

2021-09-25 02:00:07 字數 940 閱讀 2173

抽象工廠(abstract factory)角色:工廠方法模式的核心,任何工廠類都必須實現這個介面。

工廠(concrete factory)角色:具體工廠類是抽象工廠的乙個實現,負責例項化產品物件。

抽象產品(abstract product)角色:工廠方法模式所建立的所有物件的父類,它負責描述所有例項所共有的公共介面。

具體產品(concrete product)角色:工廠方法模式所建立的具體例項物件。

1. 客戶端不知道它所需要的物件的類。

2. 抽象工廠類通過其子類來指定建立哪個物件。

#define _crt_secure_no_warnings

#include using namespace std;

//抽象水果

class abstractfruit;

//蘋果

public:

virtual void showname()

};//香蕉

class banana : public abstractfruit

};//抽象工廠

class abstractfruitfactory;

//蘋果工廠

public:

virtual abstractfruit* createfruit()

};//香蕉工廠

class bananafactory : public abstractfruitfactory

};void test(void)

int main(void)

設計模式之工廠方法

工廠方法是在簡單工廠的基礎上的進一步抽象,在簡單工廠中,所有的物件都是通過乙個工廠來建立,在工廠方法中,每個物件都有特定的工廠來建立。抽象介面 車 package com.yf.designpattern.factorymethod public inte ce car 具體實現類 寶馬和賓士 pa...

設計模式之工廠方法

言歸正傳,後來 我們開始了重頭戲 設計模式 工廠三姐妹,因為十三期的師弟沒有接觸過這些知識二來因為自己學藝不精,所以當時講得有些吃力,這就尷尬了 是吧 為了挽回一點顏面,當下決定回去寫一篇部落格,但是 經常說 但是 不好 不過因為因為一直奮戰在itoo 這個總結沒有及時地動手去做,不過現在有時間了 ...

設計模式之工廠方法

軟體架構師需要關係設計模式 當有提示時 客戶端最常用的是彈出message對話方塊 服務端最常用的是寫日誌檔案。下面的例子假定五個開發組參與 核心邏輯組 class ishow class iglobe void init iglobe globe,uint uid 服務端業務邏輯組 namespa...