設計模式 簡單工廠

2021-10-07 10:28:28 字數 1238 閱讀 3916

定義

適用場景

型別類圖

**實現

定義:定義乙個介面用於建立物件,但具體例項物件由子類決定,讓其實例化延遲到子類裡面。

適用場景:父類不需要清楚的知道要例項化哪個具體的子類,可以讓子類決定例項化的操作。

型別:建立型模式

類圖:

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...