您的位置:首页 > 产品设计 > UI/UE

Builder模式

2017-04-20 00:00 239 查看
摘要: 设计模式-Builder模式

class IBuilder
{
public:
IBuilder(){}
virtual ~IBuilder(){}
virtual   void  BuilderPartA()  =   0 ;
virtual   void  BuilderPartB()  =   0 ;
};

class Director
{
public:
Director(IBuilder * pBuilter){m_pBuilter=pBuilter;}
virtual~Director(){}
public:
void Construct()
{
m_pBuilter->BuilderPartA();
m_pBuilter->BuilderPartB();
}
private:
IBuilder *m_pBuilter;
};

class Builder1:public IBuilder
{
public:
Builder1(){}
~Builder1(){}
public:
void  BuilderPartA(){printf("this is Builder1 A\n");}
void  BuilderPartB(){printf("this is Builder1 B\n");}
};

class Builder2:public IBuilder
{
public:
Builder2(){}
~Builder2(){}
public:
void  BuilderPartA(){printf("this is Builder2 A\n");}
void  BuilderPartB(){printf("this is Builder2 B\n");}
};
int _tmain(int argc, _TCHAR* argv[])
{
IBuilder *pBuilder1=new Builder1;
Director director(pBuilder1);
director.Construct();
delete pBuilder1;
IBuilder *pBuilder2=new Builder2;
Director director(pBuilder2);
director.Construct();
delete pBuilder2;
getchar();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息