定義定義:定義乙個介面用於建立物件,但具體例項物件由子類決定,讓其實例化延遲到子類裡面。適用場景
型別類圖
**實現
適用場景:父類不需要清楚的知道要例項化哪個具體的子類,可以讓子類決定例項化的操作。
型別:建立型模式
類圖:
factorypattern.hpp 實現:
#ifndef _factory_hpp
#define _factory_hpp
#include
using
namespace std;
namespace factorypattern
protected
:// 遮蔽建構函式,防止例項化
product()
};class
concreteproduct
:public product ~
concreteproduct()
};class
factory
protected
:factory()
};// 工廠類的子類,用於實現建立子類
class
concretefactory
:public factory
product*
createproduct()
const
void
delobject
(product* pobject =
nullptr
)const
}virtual
~concretefactory()
};}#endif
//!_factory_hpp
main.cpp呼叫:
#include
"factorypattern.hpp"
using
namespace factorypattern;
intmain()
設計模式 工廠模式(簡單工廠)
一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...
簡單工廠設計模式與工廠設計模式
工廠設計模式的目的 降低呼叫者和實現者之間的耦合度。當需求發生變化 增加或改變 時,不改變原有 的結構。1.簡單工廠設計模式 優點 降低了呼叫者和實現者之間的耦合度。當引入乙個新的實現型別時,只需要增加乙個實現類,然後修改工廠類即可。缺點 只適用於層次結構較為簡單的情況。如果可能的實現型別很多,工廠...
設計模式 簡單工廠設計模式
請用任意一種物件導向語言實現計算器控制台程式,要求輸入兩個數和運算符號,得到結果。operation運算類 public class operation set public double numberb set public virtual double getresult 加減乘除類 using...