设计模式之Builder模式
2013-03-20 11:08
127 查看
Builder模式的关键是其中的Director对象并不直接返回对象,而是通过一步步来一步步进行对象的创建。当然这里Director可以提供一个默认的返回对象的接口(即返回通用的复杂对象的创建,即不指定或者特定唯一指定BuilderProduct*中的参数)。
Product.h
#ifndef_PRODUCT_H_
#define_PRODUCT_H_
classCProduct
{
public:
CProduct();
~CProduct();
};
#endif
Produce.cpp
#include"Product.h"
CProduct::CProduct()
{
}
CProduct::~CProduct()
{
}
Builder.h
#ifndef__BUILDER_H_
#define__BUILDER_H_
#include"Product.h"
#include<string>
#include<iostream>
usingnamespacestd;
classCBuilder//AsaInterface
{
public:
CBuilder();
~CBuilder();
virtualvoidBuilderProductA(conststringA)=0;
virtualvoidBuilderProductB(conststringB)=0;
virtualvoidBuilderProductC(conststringC)=0;
virtualCProduct*GetProduct()=0;
};
#endif
Builder.cpp
#include"Builder.h"
CBuilder::CBuilder()
{
}
CBuilder::~CBuilder()
{
}
ConcreterBuilder.h
#ifndef__CONCERTERBUILDER_H_
#define__CONCERTERBUILDER_H_
#include"Product.h"
#include"Builder.h"
classCConcerterBuilder:publicCBuilder
{
public:
CConcerterBuilder();
~CConcerterBuilder();
voidBuilderProductA(conststringA);
voidBuilderProductB(conststringB);
voidBuilderProductC(conststringC);
CProduct*GetProduct();
};
#endif
ConcreterBuilder.cpp
#include"ConcreterBuilder.h"
CConcerterBuilder::CConcerterBuilder()
{
}
CConcerterBuilder::~CConcerterBuilder()
{
}
voidCConcerterBuilder::BuilderProductA(conststringA)
{
cout<<A<<endl;
}
voidCConcerterBuilder::BuilderProductB(conststringB)
{
cout<<B<<endl;
}
voidCConcerterBuilder::BuilderProductC(conststringC)
{
cout<<C<<endl;
}
CProduct*CConcerterBuilder::GetProduct()
{
returnnewCProduct;
}
Main.cpp
#include<iostream>
#include"Director.h"
#include"ConcreterBuilder.h"
usingnamespacestd;
intmain()
{
CDirector*pDir=newCDirector(newCConcerterBuilder());
pDir->Construct();
deletepDir;
return0;
}
相关文章推荐
- java23种设计模式之建造者模式(Builder)
- 设计模式-抽象工厂和builder模式
- Android 常用的设计模式之Builder模式
- C#设计模式系列:建造者模式(Builder)
- JavaBean任意层次代码生成器——基于Builder设计模式
- Android设计模式之—Builder模式
- Android设计模式之Builder模式解析
- Java设计模式——构造者模式(Builder)
- Builder设计模式--改善构造器多个参数时可显著改善可读性
- 设计模式深入学习-Builder生成器(创建型模式 )
- 设计模式之------创建型模式(四)-----建造者模式(Builder)
- 设计模式-建造者模式(Builder Pattern)
- [设计模式]建造者模式(Builder)
- Java 设计模式-建造者模式(Builder)Android讲解
- (4)Java设计模式-建造者模式(Builder)
- Builder------设计模式
- 设计模式:Builder模式
- 设计模式之构造器模式(Builder)
- 设计模式拾荒之创建者模式( Builder Pattern )
- 设计模式之建造者模式(Builder)