真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

建造者模式c++實(shí)現(xiàn)-創(chuàng)新互聯(lián)

構(gòu)造一個(gè)超復(fù)雜對(duì)象的時(shí)候 將其構(gòu)造過程和表示相分離 讓其構(gòu)造過程高度可以變化 通過增加director類可以更改構(gòu)造步驟的順序 通過增加新的builder類可以高度自定義每個(gè)步驟的過程

創(chuàng)新互聯(lián)公司于2013年開始,先為撫順縣等服務(wù)建站,撫順縣等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為撫順縣企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

缺點(diǎn):一般只有超大型項(xiàng)目才會(huì)使用該模式 其他不需要 且類繁多 代碼不好閱讀

優(yōu)點(diǎn):符合開閉原則 將構(gòu)造過程與表示徹底分離 可以隨心所欲的構(gòu)造復(fù)雜對(duì)象

uml圖:

代碼實(shí)現(xiàn)如下:

//builder適用場(chǎng)景 大型項(xiàng)目 極其復(fù)雜的類對(duì)象的創(chuàng)建 且創(chuàng)建該類對(duì)象時(shí)遵循的步驟是相同的 
//可以將對(duì)象的創(chuàng)建與表示相分離 比如考慮如下一個(gè)場(chǎng)景 一個(gè)人類要被生產(chǎn)則要由手腳頭軀干四部分組成
//但是每一個(gè)組件的生成都是高度可自定義的 我們就可以做如下抽象
//適用于構(gòu)建過程變化非常頻繁的對(duì)象 且構(gòu)造步驟也非常麻煩 通過修改增加director可以更改裝配步驟
//通過修改增加builder可以增加不同步驟的不同實(shí)現(xiàn)
//但是如果要加入新的步驟 新的構(gòu)造過程則需要更改抽象基類builder也會(huì)變得非常麻煩
class human
{
public:
	void some_complex_func_before_build() {};
};
class man :public human
{
};
class woman :public human
{
};
class humanBuilder
{
public:
	virtual void buildArm() = 0;
	virtual void buildHead() = 0;
	virtual void buildFeet() = 0;
	virtual void buildBody() = 0;
	virtual human* getResult() = 0;
protected:
	human* human_;
};
class manBuilder:public humanBuilder
{
public:
	manBuilder()
	{
		human_ = new man;
	}
	human* getResult()
	{
		return human_;
	}
	virtual void buildArm()
	{
		human_->some_complex_func_before_build();
	}
	virtual void buildHead()
	{
		human_->some_complex_func_before_build();
	}
	virtual void buildFeet()
	{
		human_->some_complex_func_before_build();
	}
	virtual void buildBody()
	{
		human_->some_complex_func_before_build();
	}
};
class womanBuilder :public humanBuilder
{
public:
	womanBuilder()
	{
		human_ = new woman;
	}
	human* getResult()
	{
		return human_;
	}
	virtual void buildArm()
	{
		human_->some_complex_func_before_build();
	}
	virtual void buildHead()
	{
		human_->some_complex_func_before_build();
	}
	virtual void buildFeet()
	{
		human_->some_complex_func_before_build();
	}
	virtual void buildBody()
	{
		human_->some_complex_func_before_build();
	}
};
class humandirector
{
	humandirector(humanBuilder* h):human_builder_(h)
	{
	}
	human* construst()
	{
		human_builder_->buildArm();
		human_builder_->buildBody();
		human_builder_->buildFeet();
		human_builder_->buildHead();
		return human_builder_->getResult();
	}
private:
	humanBuilder* human_builder_;
};

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)頁題目:建造者模式c++實(shí)現(xiàn)-創(chuàng)新互聯(lián)
分享地址:http://weahome.cn/article/hjopd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部