設計模式 簡單工廠模式

2021-10-06 06:35:43 字數 978 閱讀 1957

一、說明

在工廠模式中,我們在建立物件時不會對客戶端暴露建立邏輯,並且是通過使用乙個共同的介面來指向新建立的物件。工廠模式作為一種建立模式,一般在建立複雜物件時,考慮使用;在建立簡單物件時,建議直接new完成乙個例項物件的建立。

主要特點是需要在工廠類中做判斷,從而創造相應的產品,當增加新產品時,需要修改工廠類。使用簡單工廠模式,我們只需要知道具體的產品型號就可以建立乙個產品。

缺點:工廠類集中了所有產品類的建立邏輯,如果產品量較大,會使得工廠類變的非常臃腫。

二、**

#ifndef widget_h

#define widget_h

#include

typedef

enum

product_type;

//抽象產品類

class

product

;//具體產品類

class

shoe

:public product

;//具體產品類

class

clothe

:public product

;//工程類

class

factory

;#endif

// widget_h

#include

"widget.h"

shoe::

shoe()

const qstring &shoe::

type()

clothe::

clothe()

const qstring &clothe::

type()

factory::

factory()

product *factory::

createprodut

(const product_type &type)

}

設計模式 工廠模式(簡單工廠)

一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...

設計模式(簡單工廠模式 工廠模式 抽象工廠模式)

當邏輯較為簡單時,可以直接建立對應的類。如下 include using namespace std class class banana class pear intmain 通過此 可以發現,使用者直接與客戶接觸,違背了dip 依賴倒轉 原則,過於麻煩,所以引出簡單工廠模式。include us...

設計模式 簡單工廠設計模式

請用任意一種物件導向語言實現計算器控制台程式,要求輸入兩個數和運算符號,得到結果。operation運算類 public class operation set public double numberb set public virtual double getresult 加減乘除類 using...