工廠模式(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 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。將 類例項化的操作 與 使用物件的操作 分開,讓使用者不用知道具體引數就可以...