解决的问题:当我们要创建的对象很复杂的时候(通常是由很多其他的对象组合而成),我们要把复杂对象的创建过程和这个
对象的表示分离开来。
#include "stdafx.h"
#include "Director.h"
#include "Builder.h"
Director::Director(Builder * bld)
{
_bld = bld;
}
Director::~Director()
{
}
void Director::Construct()
{
_bld->GetProduct();
_bld->BuilderPartA("user-defined");
_bld->BuilderPartB("user-defined");
_bld->BuilderPartC("user-defined");
}
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
Director *d = new Director(new ConcreteBuilder());
d->Construct();
while(true);
return 0;
}