一 概念
二 包含的角色
三 優勢
四 簡單工廠vs工廠方法
四 c++**實現
//工廠方法模式
//計算器的例子
#include "pch.h"
#include using namespace std;
//抽象產品類
class operation
double getb() const
void seta(const double number)
void setb(const double number)
virtual double getresult()
protected:
double numbera;
double numberb;
};//下面是四個具體的產品類
class operationadd :public operation
};class operationsub :public operation
};class operationmul :public operation
};class operationdiv :public operation
};//抽象工廠類
class ifactory
};//下面是四個具體工廠類,分別用於產生四個具體產品
class addfactory : public ifactory
~addfactory()
}private:
operation* oper;
};class subfactory : public ifactory
~subfactory()
}private:
operation* oper;
};class mulfactory : public ifactory
~mulfactory()
}private:
operation* oper;
};class divfactory : public ifactory
~divfactory()
}private:
operation* oper;
};int main()
#include "pch.h"
#include #include using namespace std;
class leifeng
virtual void wash()
virtual void buyrice()
};class undergraduate : public leifeng
void wash()
void buyrice()
};class volunteer : public leifeng
void wash()
void buyrice()
};//雷鋒工廠
class ifactory
~ifactory()
}private:
leifeng* oper;
};//生成學雷鋒的大學生的工廠
class undergraduatefactory : public ifactory
};//生成社群志願者的工廠
class voluntee***ctory : public ifactory
};int main()
8 工廠方法模式
簡單工廠和工廠方法!簡單工廠模式的最大優點在於工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態例項化相關的類,對於客戶端來說,去除了與具體產品的依賴。簡單講,簡單工廠 計算器 如果需要擴充套件計算器的功能新增類,然後在工廠中加上else if 這樣的判斷,工廠方法模式相當與把工廠也替換成抽象的...
設計模式8 工廠方法模式
1 簡單工廠模式的侷限 簡單工廠模式的最大優點在於工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態例項化相關的類,對於客戶端來說,去除了與具體產品的依賴。但每次擴充套件功能需要修改原有類,不但對擴充套件開放了還對修改也開放了,違背了開放封閉原則。2 工廠方法模式 定義乙個用於建立物件的介面,讓...
工廠方法模式 工廠方法模式
工廠方法模式是簡單工廠模式的公升級版,簡單工廠模式不符合設計模式的原則 即 單一職責,開閉原則 優點 職責明確,擴充套件方便 缺點 需要建立多個工廠 實現步驟 1.將工廠通用方法抽取介面 例如 ifactory 2.將產品抽取介面 例如 icar 3.實現各種產品 例如 baomacar,benti...