c 建造者模式

2021-10-02 16:30:10 字數 1261 閱讀 1211

建造者模式用來構建複雜物件的設計模式,指揮者用來提供構造方法,建造者用來提供材料,物件建立時只是乙個空架子,也可以用set方法來自定義構造。

#include #include using namespace std;

class foundation ;

class thatchedfoundation : public foundation

};class roof ;

class thatchedroof : public roof

};class window ;

class door ;

class wall

virtual ~wall()

private:

window *window;

door *door;

};class thatchedwall : public wall

};class house

house& setfoundation(foundation *foundation)

walls.push_back(wall);

return *this;

}house& setroof(roof *roof)

virtual ~house()

}protected:

foundation *foundation;

vectorwalls;

roof *roof;

};//抽離出建造者

class housebuild

house& gethouse()

virtual void buildfoundation() = 0;

virtual void buildroof() = 0;

protected:

house &house;

};class thatchedhouse : public house ;

class thatchedhousebuild : public housebuild

void buildfoundation() override

}void buildroof() override

};class thatchedhousedirector

void makehouse()

private:

housebuild& build;

};int main()

C 設計模式 建造者模式

本文固定連線 using system using system.collections.generic using system.linq using system.text using system.threading.tasks public void show 抽象建造者類,確定產品有兩個部...

C 設計模式 建造者模式

ifndef builder h define builder h include 說明 乙個複雜物件的建立,其通常是由很多的子物件構成 建造者模式就提供了一種 封裝機制 來將各個物件的變化隔離開,最終,組合成複雜物件的過程是不會變的。定義 建造者模式 將乙個複雜的物件的構建與它的表示分離,使得同樣...

C 設計模式 建造者模式

建造者模式 在gof的 設計模式 可復用物件導向軟體的基礎 中是這樣說的 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。這句話,似懂非懂的。乙個複雜物件的建立,其通常是由很多的子物件構成 如果乙個物件能夠直接就建立好了,那麼也不會稱之為複雜物件。由於專案中需求的變化,這個...