生活随笔
收集整理的這篇文章主要介紹了
设计模式[20]-Builder
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Type: Creational
Builder: 將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。是為了將構建復雜對象的過程和它的部件解耦。Builder負責構建部件,Director負責處理構建的過程。
#include <iostream>
using namespace std;class Part{};class Product
{
public:Product(Part* pPartA, Part* pPartB, Part* pPartC){};
};class Builder
{
public:virtual void buildPartA()=0;virtual void buildPartB()=0;virtual void buildPartC()=0;
};class ConcreteBuilder: public Builder
{
public:void buildPartA(){cout<<"Build Part A"<<endl;mPartA = new Part;};void buildPartB(){cout<<"Build Part B"<<endl;mPartB = new Part;};void buildPartC(){cout<<"Build Part C"<<endl;mPartC = new Part;};Product* getResult(){cout<<"Get Result"<<endl;return new Product(mPartA, mPartB, mPartC);};
private:Part *mPartA, *mPartB, *mPartC;
};class Director
{
public:Director(Builder* pBuilder):m_pBuilder(pBuilder){};void construct(){cout<<"Director construct"<<endl;m_pBuilder->buildPartA();m_pBuilder->buildPartB();m_pBuilder->buildPartC();};
private:Builder* m_pBuilder;
};int main()
{ConcreteBuilder* pBuilder = new ConcreteBuilder;Director *pDirector = new Director(pBuilder);pDirector->construct();pBuilder->getResult();system("pause");return 0;
}
總結
以上是生活随笔為你收集整理的设计模式[20]-Builder的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。