设计模式-创建型-工厂方法
来源:互联网 发布:万界淘宝商txt百度云 编辑:程序博客网 时间:2024/05/29 17:40
#pragma once#ifndef FACTORY_H #define FACTORY_H class Product { public: Product(){} virtual ~Product(){} }; class ConcreateProduct : public Product { public: ConcreateProduct(); virtual ~ConcreateProduct(); }; class Factory { public: Factory(){} virtual ~Factory(){} Product* CreateProduct(); protected: virtual Product* FactoryMethod() = 0; }; class ConcreateFactory : public Factory { public: ConcreateFactory(); virtual ~ConcreateFactory(); protected: virtual Product* FactoryMethod(); }; #endif
#include "StdAfx.h"#include "factory_impl.h"#include <iostream> using namespace std; ConcreateProduct::ConcreateProduct() { std::cout << "construction of ConcreateProduct\n"; } ConcreateProduct::~ConcreateProduct() { std::cout << "destruction of ConcreateProduct\n"; } Product* Factory::CreateProduct() { std::cout << "an operation of product\n"; Product* p = FactoryMethod(); //子类决定实例哪一个类return p;} ConcreateFactory::ConcreateFactory() { std::cout << "construction of ConcreateFactory\n"; } ConcreateFactory::~ConcreateFactory() { std::cout << "destruction of ConcreateFactory\n"; } Product* ConcreateFactory::FactoryMethod() { return new ConcreateProduct(); }
// Factory.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <stdlib.h>#include "factory_impl.h"#include <memory>using namespace std;//定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。 int _tmain(int argc, _TCHAR* argv[]){//udp_factory,tcp_factory,rtsp_factoryauto_ptr<Factory> fy(new ConcreateFactory()); auto_ptr<Product> pt(fy->CreateProduct()); //决定实例化哪一个类,使一个类的实例化延迟到其子类system("pause"); return 0;}
阅读全文
0 0
- 设计模式-创建型模式-工厂方法
- 【设计模式】创建型模式-工厂方法
- 设计模式-创建型02-工厂方法
- Golang设计模式-创建型-工厂方法
- 设计模式-创建型-工厂方法
- (4)设计模式方法-创建型设计模式--:简单工厂模式【【【工厂方法模式
- "围观"设计模式(8)--创建型之简单工厂模式、工厂方法模式、抽象工厂模式
- "围观"设计模式(8)--创建型之简单工厂模式、工厂方法模式、抽象工厂模式
- 设计模式之---创建型模式(一)--工厂方法模式
- java设计模式之创建型模式-工厂方法模式
- 设计模式->创建型模式->工厂方法模式
- 设计模式-工厂方法模式(创建型模式)
- 【JavaScript设计模式】创建型设计模式--简单工厂、工厂方法、抽象工厂
- 设计模式笔记(5)---工厂方法模式(创建型)
- 设计模式-创建型模式之 Factory Method(工厂方法)
- JAVA设计模式创建型模式之工厂方法
- 23种设计模式二:创建型工厂方法模式
- 设计模式2:工厂方法模式【创建型】
- 蓝桥杯-高精度加法
- 关于内连接、左外连接和迫切左外连接
- CSS(四) 设置文本样式
- Write Latex functions in html by applying MathJax
- Spring MVC的配置访问静态资源的三种方案
- 设计模式-创建型-工厂方法
- 134. Gas Station
- 1. Linux 终端命令快速复习
- eclipse安装Activiti Designer插件
- form表单传给BaseServlet
- Random Forests预测森林植被类型
- MathJax 支持的 Latex 符号总结
- 敌兵布阵
- bbdy