簡單工廠模式/靜態工廠模式(Static Factory Method) C++實現
#include <iostream> using namespace std; typedef enum ProductType { TypeA, TypeB } PRODUCTTYPE; class AbsProduct { public : virtual void draw() = 0; }; class ProductA : public AbsProduct{ public : virtual void draw() { cout << "ProductA" << endl; } }; class ProductB : public AbsProduct{ public : virtual void draw() { cout << "ProductB" << endl; } }; class SimpleFatory { public : static AbsProduct * getProduct(PRODUCTTYPE type) { AbsProduct * product = NULL; if(type == TypeA) { product = new ProductA(); // do some thing } else if(type == TypeB) { product = new ProductB(); // do some thing } return product; } }; int main() { AbsProduct * product1 = SimpleFatory::getProduct(TypeA); AbsProduct * product2 = SimpleFatory::getProduct(TypeB); if(product1 != NULL) product1->draw(); if(product2 != NULL) product2->draw(); delete product1; product1 = NULL; delete product2; product2 = NULL; return 0; }
相關推薦
簡單工廠模式/靜態工廠模式(Static Factory Method) C++實現
#include <iostream> using namespace std; typedef enum ProductType { TypeA, TypeB } PRODUCTTYPE; class AbsProduct { public : virtual vo
設計模式-簡單工廠模式/靜態工廠方法(Static Factory Method)
使用原因 同一個呼叫,需要不同物件。統一通過工廠生產不同物件,建立物件的邏輯在工廠中。 定義 簡單工廠模式是屬於建立型模式,又叫做靜態工廠方法(Static Factory Method)模式,不屬於23種GOF設計模式。簡單工廠模式是由一個工廠物件決定創建出哪一種產品類
簡單工廠模式(靜態工廠方法(Static Factory Method)模式)
簡單工廠模式 所謂的簡單工廠模式-----------這裡百度百科裡面的解釋:簡單工廠模式是屬於建立型模式,又叫做靜態工廠方法(Static Factory Method)模式,但不屬於23
AVL樹(自平衡樹)——c++實現
html pub private 檢查 具體實現 htm lose show data- AVL樹是高度平衡的而二叉樹。它的特點是:AVL樹中任何節點的兩個子樹的高度最大差別為1。 AVL樹本質上還是一棵二叉搜索樹,它的特點是: 1.本身首先是一棵二叉
Personal deposit calculator(個人存款計算器)C#實現----需求分析
參考招商銀行 個人存款計算器:http://www.cmbchina.com/CmbWebPubInfo/Cal_Saving_Per.aspx?chnl=ckjsq 需求分析,先上圖,有了這張圖需求分析完成一大半了 具體存款種類 2.1 初始介面
【LeetCode】1. Two Sum(兩數之和)-C++實現的兩種方法
本題是一下公司的面試題: 問題描述: 問題求解: 使用無序容器unorder_map實現: #include <iostream> #include <vector> #include <cassert> #inclu
最大堆(最小堆)C++實現原始碼
寫在前面 最近漸漸愛上寫部落格,覺得每天學到的知識需要保鮮,寫的原始碼也能及時與大家分享,接下來進入正題。 最大堆(最小堆) 最大堆(最小堆)是非常重要的資料結構,公司面試時經常會被問到,在這裡,我不會詳細介紹它的原理,而是介紹它的適用場景以及兩種寫法
抽象工廠模式(Abstract Factory Pattern):簡單&粗暴解析
1.前言 在之前的文章設計模式(Design pattern):簡單&粗暴解析中已經為大家深入淺出解析了 設計模式 的 七大原則、三大型別。 本文為大家解析三大型別中 建立型 裡其中的 抽象工廠模式。 文章中例項 linhaojian的Git
簡單工廠模式(Easy Factory Pattern):簡單&粗暴解析
1.前言 在之前的文章設計模式(Design pattern):簡單&粗暴解析中已經為大家深入淺出解析了 設計模式 的 七大原則、三大型別。 本文為大家解析三大型別中 建立型 裡其中的 簡單工廠模式。 文章中例項 linhaojian的Git
設計模式--靜態工廠、簡單工廠方法案例分析
簡介 1.學習本篇文章,瞭解簡單工廠設計模式的使用場景。 2.如何使用簡單工廠模式。 3.簡單工廠模式能解決什麼問題? 場景 現在有一家外賣小店需要從生產一份外賣開始進行考慮設計,當客戶在網上點出不同味道的菜時,外賣小店就將按照不同的訂單進行生產出菜品,然後進行打包、等待外賣
設計模式(2)——建立型——工廠相關:簡單工廠(Simple factory),工廠方法(Factory method),抽象工廠(Abstract factory)
概要 這裡試圖描述23個設計模式中的兩個工廠(Factory)相關的設計模式:工廠方法(Factorymethod),抽象工廠(Abstract factory)。 注意點: 這兩個都屬於建立型設計模式。 由於這兩個設計模式都
簡單介紹工廠模式(靜態工廠和抽象工廠)
註明 : 以下整理的資料來源於實驗樓網站. 工廠模式(Factory Pattern)的意義就跟它的名字一樣,在面向物件程式設計中,工廠通常是一個用來建立其他物件的物件。工廠模式根據不同的引數來實現不同的分配方案和建立物件。
Android之大話設計模式--簡單工廠模式(靜態工廠方法模式)
簡單工廠模式解釋: 簡單工廠模式(Simple Factory Pattern)屬於類的創新型模式,又叫靜態工廠方法模式(Static Factory Method Pattern),是通過專門定義一個類來負責建立其他類的例項,被建立的例項通常都具有相同的父親。 UML圖:
簡單工廠模式(simple factory pattern)
vs2005+C#+.net 2.0 using System;using System.Collections.Generic;using System.Text;namespace SimpleFactoryPattern...{ publicclass S
建立型模式——簡單工廠模式(Simple Factory Pattern)
開頭 我們可以將設計模式分為三大類,分別為建立型模式、結構型模式、行為型模式,每種模式有著各自的特點。 建立型模式——它是用來描述如何建立物件的。 思維導圖:建立型模型分類建立型模式又分為簡單工廠
簡單工廠模式(Simple Factory Pattern)學習
書籍:《C#設計模式》(《C# Design Patterns:A Tutorial》) 【美】 James W.Cooper 著 張志華 劉雲鵬 等譯 簡單工廠模式:簡單工廠類根據提供給它的資料,返回幾個可能類中的一個類的例項。通常它返回的類都有一個共同的父類和共同的方
設計模式學習筆記--簡單工廠模式(Simple Factory Pattern)【建立型模式】
簡單工廠模式: 工廠是用來生成產品的,簡單工廠,說明工廠能力有限因此只生成一個系列的產品。 此係列產品提供一個產品抽象,具體的產品在派生產品中進行實現。 簡單工廠(一個類),用來管理這個系列產品的生產。工廠中會有一個creat(char* name)成員函式name是需要生
設計模式-(3)簡單工廠模式(Simple Factory Pattern)
一、引言 在面向物件程式設計中, 最通常的方法是一個new操作符產生一個物件例項,new操作符就是用來構造物件例項的。但是在一些情況下, new操作符直接生成物件會帶來一些問題。舉例來說, 許多型別物件的創造需要一系列的步驟: 你可能需要計算或取得物件的初始
工廠方法模式(Factory Method)
method 客戶端代碼 console 實例化 turn 簡單工廠 actor () blog 工廠方法模式:定義一個用於創建對象的接口,讓子類來決定實例化哪一個類。工廠方法使一個類的實例化延遲到子類。 簡單工廠模式的最大有點在於工廠勒種包含了必要的邏輯判斷,根據客戶
2,抽象工廠模式(Abstract Factory Pattern) 抽象工廠可以一下生產一個產品族(裏面有很多產品組成)
creat name hba abstract 模式 存在 names cto 園區 備註 工廠模式:要麽生產香蕉、要麽生產蘋果、要麽生產西紅柿;但是不能同時生產一個產品組。 抽象工廠:能同時生產一個產品族。===》抽象工廠存在原因 解釋 : 具體工廠