簡單工廠模式及其應用案例

2021-10-05 07:12:41 字數 2600 閱讀 8065

工廠模式(factory pattern)是最常用的設計模式之一。這種型別的設計模式屬於建立型模式,它提供了一種建立物件的最佳方式。

在工廠模式中,我們在建立物件時不會對客戶端暴露建立邏輯,並且是通過使用乙個共同的介面來指向新建立的物件。

簡單的計算器程式,由使用者輸入操作符來例項化運算子物件。並引入異常處理機制。

#pragma once

#include

#include

#include

class

operation

, numberb

;public

:void

setnumbera

(double numa_)

;void

setnumberb

(double numb_)

;double

getnumbera()

;double

getnumberb()

;virtual

double

getresult()

;class

operationexception

:public std::exception

;class

badoperationexception

:public operation::operationexception

;class

divzeroexception

:public operation::operationexception ;}

;class

addoperation

:public operation

;class

suboperation

:public operation

;class

muloperation

:public operation

;class

divoperation

:public operation

;class

operationfactory

;

#include

"operation.h"

void operation::

setnumbera

(double numa_)

void operation::

setnumberb

(double numb_)

double operation::

getnumbera()

double operation::

getnumberb()

double operation::

getresult()

double addoperation::

getresult()

; result =

getnumbera()

+getnumberb()

;return result;

}double suboperation::

getresult()

; result =

getnumbera()

-getnumberb()

;return result;

}double muloperation::

getresult()

; result =

getnumbera()

*getnumberb()

;return result;

}double divoperation::

getresult()

;try

catch

(operation::divzeroexception& exce_)

result =

getnumbera()

/getnumberb()

;return result;

}operation* operationfactory::

createoperation

(char operate_)

if(operation !=

nullptr

)return operation;

throw operation::

badoperationexception()

;}catch

(operation::badoperationexception& exce_)

}const

char

* operation::operationexception::

what()

const

throw()

const

char

* operation::badoperationexception::

what()

const

throw()

const

char

* operation::divzeroexception::

what()

const

throw()

工廠模式之簡單工廠案例

簡單工廠模式 首先建立控制台應用程式專案 1.建立product抽象產品類,將具體產品類公共的 進行抽象和提取後封裝在 該乙個抽象產品類中 public abstract class product 2.建立concreteproducta具體產品類,將需要建立的產品物件的相關 封裝到 該具體產品類...

工廠模式的簡單案例

案例 顧客到商店買電腦 1 首先,建立乙個電腦公有的介面 電腦介面 public inte ce icomputer 2 建立具體實體,實現公有的介面,這裡是兩個品牌電腦 蘋果電腦實現類 public class implements icomputer 聯想電腦實現類 public class l...

簡單工廠模式 應用

簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。將 類例項化的操作 與 使用物件的操作 分開,讓使用者不用知道具體引數就可以...