1. 程式人生 > >集中式工廠的實現--簡單工廠模式

集中式工廠的實現--簡單工廠模式

#include <string>
using namespace std;
//抽象圖表介面:抽象產品類
class Chart{
public:
	virtual void display()=0; 
};

//柱狀圖表:具體產品類
class HistogramChart :public Chart{
public:
	HistogramChart(){
		cout<<"建立柱狀圖"<<endl;
	}
	void display(){
		cout<<"顯示柱狀圖"<<endl;
	}
};

//餅狀圖表:具體產品類
class PipeChart:public Chart{
public:
	PipeChart(){
		cout<<"建立餅狀圖"<<endl;
	}
	void display(){
		cout<<"顯示餅狀圖"<<endl;
	}
};

//折線圖類:具體產品類
class LineChart:public Chart{
public:
	LineChart(){
		cout<<"建立折線圖"<<endl;
	}
	void display(){
		cout<<"顯示折線圖"<<endl;
	}
};

//圖表工廠類:工廠類
class ChartFactory{
public:
	static Chart* getChart(string arg){
		Chart *chart=NULL;
		int i=0;
		while(arg[i]){
			arg[i]=tolower(arg[i]);
			i++;
		}
		if(arg=="histogramchart"){
			cout<<"初始化設定柱狀圖"<<endl;
			chart=new HistogramChart();
		}
		else if(arg=="pipechart"){
			chart=new PipeChart();
			cout<<"初始化設定餅狀圖"<<endl;
		}
		else if(arg=="linechart"){
			chart=new LineChart();
			cout<<"初始化設定折線圖"<<endl;
		}
		return chart;
	}
};

int main(){
	Chart* chart=NULL;
	chart=ChartFactory::getChart("PipeChart");
	if(chart==NULL)
		cout<<"引數不正確"<<endl;
	else
		chart->display();
	return 0;
}


簡單工廠模式總結

相關推薦

中式工廠實現--簡單工廠模式

#include <string> using namespace std; //抽象圖表介面:抽象產品類 class Chart{ public: virtual void display()=0; }; //柱狀圖表:具體產品類 class HistogramChart :public

Qt下實現簡單工廠設計模式

簡述 簡單工廠設計模式是一種基礎簡單而常用的設計模式,對理解封裝、繼承和多型特性有非常大的幫助。下面就來在Qt下實現簡單工廠模式。 程式碼之路 實現簡單工廠至少需要四個類。其中最主要的兩個類是工廠類和一個基類,另外的類都是這個基類的繼承類。下面的例子中工廠類是factory,基類

Java實現簡單工廠模式

1.3 程式碼規範 如果你想做一個計算器的話,是怎樣操作的 C#實現的。和Java語法差不多 1.8 業務封裝 採用面向物件思想將業務計算邏輯和介面邏輯分開。 Operation類 這個只是運用了面向物件的封裝。下面是實現繼承和多型。

巧妙運用spring依賴注入實現簡單工廠模式

舉一個業務場景:  假設有一個統一買票旅遊的入口,買完票會有一個欄位表明種類。  這些種類表明你去哪,怎麼去。  是坐飛機去奧地利,或是走路到隔壁龍蝦店,都不得而知,而且程式碼邏輯幾乎沒有關聯。這個時候我們難道要這樣寫程式碼嗎?  if(type == 1){        

C#實現簡單工廠模式

(文章地址:http://mp.weixin.qq.com/s/kkilLvrr7h3qgqiwVtzPfw) 末尾有工程檔案 設計模式雖然對效能來說不會有很大的提升,但是許多設計模式在開發的過程中還是非常有用的,運用好設計模式,可以幫助提升開發效率,加快開發速度 。

設計模式——抽象工廠簡單工廠工廠方法

load create The 判斷 console 名稱 簡單 類名 參數 簡單工廠:根據外來參數判斷創建的實例。一般使用 If 或者 switch。 工廠方法:項目中只有一個抽像類,只建造一個工廠就可以完成項目。 抽象工廠:項目中不止一個抽象類,需要為每一個類建造一座工

設計模式--靜態工廠簡單工廠方法案例分析

簡介 1.學習本篇文章,瞭解簡單工廠設計模式的使用場景。 2.如何使用簡單工廠模式。 3.簡單工廠模式能解決什麼問題? 場景 現在有一家外賣小店需要從生產一份外賣開始進行考慮設計,當客戶在網上點出不同味道的菜時,外賣小店就將按照不同的訂單進行生產出菜品,然後進行打包、等待外賣

實現簡單工廠(二)

//建立一個工廠的環境 //賣車的商店 function CarShop(){}; CarShop.prototype = { constructor : CarShop, //還原構造器 sellC

C#/.NET 反射(配置檔案)實現簡單工廠

C# 反射(配置檔案)實現簡單工廠 配置檔案 <?xml version="1.0" encoding="utf-8"?> <configuration> <startup useLegacyV2RuntimeActivationPolicy="

【設計模式】C#版三大工廠簡單工廠工廠方法與抽象工廠

引言         簡單工廠、工廠方法、抽象工廠都屬於設計模式中的建立型模式。其主要功能都是幫助我們把物件的例項化部分抽象取了出來,優化了系統的架構,並且增強了系統的擴充套件性。此篇部落格是筆者對學完這三種模式之後一個小小的總結 簡單工廠         簡單工廠模式的工

c#實現簡單工廠—資料庫連線

通過簡單factory,把抽象類——資料庫連線,實現為針對不同資料庫(sqlserver、oracle等)的資料連線子類,並在子類實現對資料集的填充、執行各種sql語句的方法。資料連線工廠類using System;using System.Data;using System

設計模式——建立型模式工廠簡單工廠,單例,建造者,原型)

目錄 一、工廠模式 簡單工廠模式 工廠方法模式 二、抽象工廠模式 三、單例模式 四、建造者模式 五、原型模式 建

Spring Boot成ElasticSearch實現簡單的增刪查改接口

java.net tin ID request exce 有一個 port client water SpringBoot集成ElasticSearch pom.xml文件中,依賴的各jar包版本如下: <parent> <groupId>o

如何將不同型別的商品按它們不同的屬性進行排序(工廠方法 + 簡單工廠的綜合解決方案)

這是最近實習的時候老闆給的一個需求,具體要求:將商品按照它的進貨價,零售價,銷量等11個屬性分別進行升降序排序;將倉庫商品按照它的庫存等5個屬性進行升降序排序。 注:商品和倉庫商品沒有什麼聯絡,可以把它們認為是兩個物件:Product類和RepositoryProduct類。

C#基礎系列:委託實現簡單設計模式(1)

前言:這篇簡單介紹下委託的使用。當然啦,園子裡面很多介紹委託的文章都會說道:委託和事件的概念就像一道坎,過了這個檻的人,覺得真是太容易了,而沒有過去的人每次見到委託和事件就覺得心裡發慌。確實這東西就像最開始學C語言的指標一樣,令人有一種很糾結的感覺,總覺得要呼叫一個

C#基礎系列——委託實現簡單設計模式

前言:上一篇介紹了下多執行緒的相關知識:C#基礎系列——多執行緒的常見用法詳解,裡面就提到了委託變數。這篇簡單介紹下委託的使用。當然啦,園子裡面很多介紹委託的文章都會說道:委託和事件的概念就像一道坎,過了這個檻的人,覺得真是太容易了,而沒有過去的人每次見到委託和事件就覺得心裡發慌。確實這東西就像最開始學C語言

代理模式+簡單工廠或代理模式+策略模式實現開通推廣功能

rom face ram inter truct cond strong LV 所有 實現功能: 1.用戶金幣或銀兩達到一定數額後,可以用相應數量的金幣或銀兩開通推廣功能,開通推廣功能後,由此產生的收益歸該用戶所有 2.推廣類,不允許直接操作推廣類,需要判斷用戶是否有金幣或

模板方法模式 + 觀察者模式 + 簡單工廠模式 + 單例模式實現一個簡單的數據表讀寫

private 數據庫鏈 obs imp 通知 model 數據表 ring pri 實現功能: 對數據表的讀要緩存起來,對數據表的寫需要清除緩存. 數據表根據屬性字段來決定是否緩存 可以更換數據庫鏈接方式,比如可以隨時更換為mysql或mysqli() 當插入數據時給出一

簡單工廠模式C++實現

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">面向物件的優點:</span> 1、可維護:修改簡單 2、可複用:

簡單工廠模式工廠模式區別及實現

簡單工廠模式 簡單工廠模式模式分為三種:普通簡單工廠、多方法簡單工廠、靜態方法簡單工廠。 01、普通簡單工廠(傳送郵件和簡訊的例子) 首先,建立二者的共同介面: public interface Sender {    &n