[img]C:\Documents and Settings\Administrator\桌面\编程\设计模式\Factory.jpg[/img]
刚开始学习设计模式,还不是很懂,慢慢来吧,首先应该是Factory Pattern,下面是代码:
Product.h
#ifndef _PRODUCT_H_
#define _PRODUCT_H_
#include <iostream>
using namespace std;
class Product
{
public:
virtual ~Product()=0;
protected:
Product();
private:
};
class ConcreteProductA :public Product
{
public:
~ConcreteProductA();
ConcreteProductA();
protected:
private:
};
class ConcreteProductB :public Product
{
public:
~ConcreteProductB();
ConcreteProductB();
protected:
private:
};
#endif
Product.cpp
#include "Product.h"
#include <iostream>
using namespace std;
Product::Product(){}
Product::~Product(){}
ConcreteProductA::ConcreteProductA(){
cout << "ConcreteProductA....." <<endl;
}
ConcreteProductA::~ConcreteProductA(){
}
ConcreteProductB::ConcreteProductB(){
cout << "ConcreteProductB....." <<endl;
}
ConcreteProductB::~ConcreteProductB(){
}
Factory.h
#ifndef FACTORY_H_
#define FACTORY_H_
#include "Product.h"
#include <iostream>
using namespace std;
class Product;
class Factory
{
public:
virtual ~Factory()=0;
virtual Product* creatProductA()=0;
virtual Product* creatProductB()=0;
protected:
Factory();
private:
};
class ConcreteFactory:public Factory
{
public:
ConcreteFactory();
~ConcreteFactory();
Product* creatProductA();
Product* creatProductB();
protected:
private:
};
#endif
Factory.cpp
#include "Factory.h"
#include "Product.h"
#include <iostream>
using namespace std;
Factory::Factory(){
}
Factory::~Factory(){
}
ConcreteFactory::ConcreteFactory(){
cout << "ConcreteFactory..."<<endl;
}
ConcreteFactory::~ConcreteFactory(){
}
Product* ConcreteFactory::creatProductA(){
return new ConcreteProductA();
}
Product* ConcreteFactory::creatProductB(){
return new ConcreteProductB();
}
main.cpp
#include <iostream>
#include "Factory.h"
#include "Product.h"
using namespace std;
int main(){
Factory* factory = new ConcreteFactory();
Product* productA = factory->creatProductA();
Product* productB = factory->creatProductB();
return 0;
}
分享到:
相关推荐
1. 抽象工厂(Abstract Factory):这是模式的核心,它是一个接口或抽象类,定义了一系列创建对象的方法,但并不直接实例化具体的对象。这些方法用于创建一系列相关或相互依赖的对象。 2. 具体工厂(Concrete ...
抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它提供了一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。这种模式的主要目的是为了隔离产品对象的创建过程,使得更换产品族或者...
工厂模式是一种常用的设计模式,它的主要目的是为了封装对象的创建过程,从而使得代码更加灵活,易于维护和扩展。在Head First设计模式中,工厂模式被用来解决对象创建时的“变化”问题,尤其是在需要根据条件动态...
Factory Pattern(工厂模式) 在软件开发中,工厂模式(Factory Pattern)是一种常用的设计模式,用于创建对象的实例,而不暴露创建对象的具体逻辑。工厂模式的主要思想是将对象的创建过程封装起来,使得调用方不...
Interfaces + Factory pattern = Decoupled architecture
简单工厂(Simple Factory)模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通常它根据自变量的不同返回不同的类的实例。...我已经用C#的源码编程了:请下载Simple Factory Pattern.rar
### 抽象工厂模式(Abstract Factory Pattern) #### 引入 在探讨抽象工厂模式之前,我们先回顾一下之前介绍过的简单工厂模式与工厂方法模式。这两种模式主要关注于解决对象创建过程中“new”操作的问题,使得创建...
**抽象工厂模式(Abstract Factory Pattern)**是一种创建型设计模式,它提供了一种创建对象族的接口,而无需指定它们的具体类。这种模式是当一个系统需要根据不同的平台或者环境来创建一组相关或相互依赖的对象时,...
java 创建型模式--工厂模式(Factory Pattern)示范代码demo,关于工厂模式可以查看我的博客 http://blog.csdn.net/u012930316/article/details/54599580
1. **抽象工厂(Abstract Factory)**:这是工厂模式的核心接口,定义了创建产品对象的公共接口。在C++中,通常用抽象类或者纯虚函数接口来表示。 2. **具体工厂(Concrete Factory)**:实现了抽象工厂接口,负责...
C++工厂模式是一种设计模式,属于创建型模式,它提供了一种封装对象创建的方式,使得客户端无需知道具体的创建逻辑,而是通过一个公共的接口来获取所需的对象。在给定的例子中,我们可以通过以下文件了解其具体实现...
1. 抽象工厂(Abstract Factory):定义一个创建对象的接口,但不指定具体的产品实现,而是由具体的工厂类来实现。 2. 具体工厂(Concrete Factory):实现了抽象工厂接口,负责创建具体的产品对象。 3. 抽象产品...
这个"A-classic-factory-pattern-example.rar_factory"压缩包中包含的"一个工厂模式的简单但典型的例子"是为了帮助初学者理解和应用工厂模式而设计的。下面我们将详细探讨工厂模式的核心概念、工作原理以及其在实际...
标题中的“factory&singleton pattern”指的是工厂模式和单例模式,这是两种常见的设计模式,在软件工程中被广泛使用,特别是对于对象的创建和管理。设计模式是解决常见问题的成熟方案,它们为软件开发提供了良好的...
【Calculator:使用Command Factory Pattern的Java控制台应用程序】 在编程领域,设计模式是解决常见问题的最佳实践和模板。"命令工厂模式"(Command Factory Pattern)是其中一种行为设计模式,它将请求封装为一个...
工厂方法模式(Factory Method Pattern)是设计模式中的创建型模式之一,主要解决对象创建过程中的复杂性问题。在软件工程中,当一个类不知道它所必须创建的对象的类的时候,它就不会实例化对象,而是使用一个工厂...
在这个名为“DesignPattern”的压缩包中,包含了一个关于简单工厂模式(Simple Factory Pattern)的示例,名为“DesignPattern_SimpleFactoryPattern”。 简单工厂模式的核心思想是将对象的创建过程封装到一个单独...
抽象工厂模式(Abstract Factory Pattern) 建造者模式(Builder Pattern) 原型模式(Prototype Pattern) 结构型模式(Structural Pattern) 适配器模式(Adapter/Wrapper Pattern) 桥接模式(Bridge Pattern) 装饰模式...
5、工厂方法模式FACTORY METHOD PATTERN 6、抽象工厂模式ABSTRACT FACTORY PATTERN 7、门面模式FACADE PATTERN 8、适配器模式ADAPTER PATTERN 9、模板方法模式TEMPLATE METHOD PATTERN 10、建造者模式BUILDER ...
本文将深入探讨工厂方法模式(Factory Method Pattern)与抽象工厂模式(Abstract Factory Pattern),并结合给定文件中的实例进行详细解析。 ### 工厂方法模式(Factory Method Pattern) 工厂方法模式是一种创建...