集中式工廠的實現--簡單工廠模式
#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