设计模式学习笔记 1.factory 模式
2014-06-09 16:30
302 查看
Factory 模式
用户不关心工厂的具体类型,只知道这是一个工厂就行。
通过工厂的实现推迟到子类里面去来确定工厂的具体类型。
工厂的具体类型来确定生产的具体产品。
同时用户不关心这是一个什么样子的产品,只知道这是一个产品
用户不关心工厂的具体类型,只知道这是一个工厂就行。
通过工厂的实现推迟到子类里面去来确定工厂的具体类型。
工厂的具体类型来确定生产的具体产品。
同时用户不关心这是一个什么样子的产品,只知道这是一个产品
#ifndef _FACTORY_H_ #define _FACTORY_H_ #include "product.h" class Factory { public: virtual ~Factory(); virtual Product* createProduct(); protected: Factory(); private: }; class ConcreteFactory : public Factory { public: ConcreteFactory(); ~ConcreteFactory(); Product* createProduct(); protected: private: }; #endif //_FACTORY_H_
#include "factory.h" #include "product.h" Factory::~Factory() { } Factory::Factory() { } Product* Factory::createProduct() { } ConcreteFactory::ConcreteFactory() { } ConcreteFactory::~ConcreteFactory() { } Product* ConcreteFactory::createProduct() { return new ConcreteProduct(); }
#ifndef _PRODUCT_H_ #define _PRODUCT_H_ class Product { public: virtual ~Product(); protected: Product(); private: }; class ConcreteProduct : public Product { public: ConcreteProduct(); ~ConcreteProduct(); protected: private: }; #endif //_PRODUCT_H_
#include "product.h" #include <stdio.h> Product::~Product() { } Product::Product() { } ConcreteProduct::ConcreteProduct() { printf("hello I'm product\n"); } ConcreteProduct::~ConcreteProduct() { }
#include "factory.h" #include "product.h" #include <stdio.h> int main() { Product* pro = NULL; Factory* fac = new ConcreteFactory(); if(fac) pro = fac->createProduct(); return 0; }
相关文章推荐
- 设计模式学习笔记——简单工厂(Simple Factory)
- 设计模式学习笔记四:工厂方法(Factory Method)
- java 设计模式学习笔记二 工厂模式Factory
- 设计模式C++学习笔记之五(Factory Method工厂方法模式)
- 设计模式学习笔记一:Simple factory pattern,简单工厂模式
- 设计模式学习笔记二:工厂方法模式(Factory Method)
- [设计模式学习笔记二][创建型模式][工厂方法(Factory Method)]
- 设计模式学习笔记-Factory Method
- 【设计模式】学习笔记4:简单工厂模式(Simple Factory)
- 【设计模式】学习笔记5:工厂模式(Factory Method)
- 设计模式学习笔记--工厂(Factory)、建造(Builder)和原型(Prototype)
- 阿Sam的设计模式学习笔记----Factory模式(之Factory Method)
- 设计模式学习笔记:factory method(工厂方法)
- 设计模式之Factory Method 之学习笔记
- 设计模式学习笔记--Factory Method模式
- 步步为营 .NET 设计模式学习笔记 二十四、Factory Method(工厂方法模式)
- 学习笔记:关注C++设计模式之Factory模式
- 设计模式C++学习笔记之五(Factory Method工厂方法模式)
- 设计模式C++学习笔记之五(Factory Method工厂方法模式)
- 设计模式学习笔记(四)之工厂模式(Factory)