C++디자인 모드 의 작성 자 모드(Builder)

건설 자 모델 과 공장 모델 의 가장 큰 차 이 는 건설 자 모델 과 더욱 중시 하 는 것 은 일련의 과정 이다.예 를 들 어 유수 화 작업,공장 모델 은 서로 다른 공장 과 제품 을 구분 하 는 것 을 강조 하고 건설 자 모델 은 서로 다른 제품 이 유수 선 에서 의 작업 순 서 를 통일 시 켜 통일 작업 을 하 는 것 을 강조 한다.
역할.
건설 자 모델 은 복잡 한 대상 과 그의 구조 와 조립 과정 을 분리 시 켜 서로 다른 대상 을 만 들 때 똑 같은 절 차 를 반복 해서 만 드 는 것 이다.호출 자 에 게 는 제품 의 유형 만 알 고 구체 적 인 조립 과정 은 알 필요 가 없다.
클래스 보기

코드 구현

class Builder
  {
  public:
    virtual void SelectCpu()= 0;
    virtual void SelectMatherboard() = 0;
    virtual void SelectMem() = 0;
    virtual void SelectDisk() = 0;
    virtual void SelectPower() = 0;
    virtual void SelectShell() = 0;
  };
  //  PC
  class PCBuilder : public Builder
  {
  public:
    void SelectCpu()     { cout<<"Select PC Cpu"<<endl; }
    void SelectMatherboard() { cout<<"Select PC Matherboard"<<endl; }
    void SelectMem()     { cout<<"Select PC Mem"<<endl; }
    void SelectDisk()    { cout<<"Select PC Disk"<<endl; }
    void SelectPower()    { cout<<"Select PC Power"<<endl; }
    void SelectShell()    { cout<<"Select PC Shell"<<endl; }
  };
  //  Notebook
  class NoteBookBuilder : public Builder
  {
  public:
    void SelectCpu()     { cout<<"Select NoteBook Cpu"<<endl; }
    void SelectMatherboard() { cout<<"Select NoteBook Matherboard"<<endl; }
    void SelectMem()     { cout<<"Select NoteBook Mem"<<endl; }
    void SelectDisk()    { cout<<"Select NoteBook Disk"<<endl; }
    void SelectPower()    { cout<<"Select NoteBook Power"<<endl; }
    void SelectShell()    { cout<<"Select NoteBook Shell"<<endl; }
  };
  //      
  class Director
  {
  private:
    Builder *m_pBuilder;
  public:
    Director(Builder *builder) { m_pBuilder = builder; }
    void Create(){
    m_pBuilder->SelectCpu();
    m_pBuilder->SelectMatherboard();
    m_pBuilder->SelectMem();
    m_pBuilder->SelectDisk();
    m_pBuilder->SelectPower();
    m_pBuilder->SelectShell();
    }
  };
  
  //  
  int main()
  {
    NoteBookBuilder thin;
    Director director(&thin);
    director.Create();
    return 0;
  }
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기