五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

工廠模式

2022-05-18 13:31 作者:t_hyper  | 我要投稿

1、概念

·工廠模式是我們最常用的實(shí)例化對(duì)象模式,是用工廠方法代替vnew操作的一種模式。

2、好處

·使用工廠模式的好處是,如果你想要更改所實(shí)例化的類名等,則只需更改該工廠方法內(nèi)容

即可,不需逐一尋找代碼中具體實(shí)例化的地方(new處)修改了。為系統(tǒng)結(jié)構(gòu)提供靈活的動(dòng)態(tài)擴(kuò)展機(jī)制,減少了耦合。

3、分類

·簡(jiǎn)單工廠模式

·工廠方法模式

·抽象工廠模式


簡(jiǎn)單工廠模式

·簡(jiǎn)單工廠模式實(shí)現(xiàn)了產(chǎn)品類的代碼跟客尸端代碼分離,但會(huì)有一個(gè)回題,優(yōu)秀的代碼是符合“開(kāi)閉原則”

如果你要加一個(gè)C類產(chǎn)品,你就要修改工廠類里面的代碼,也就是說(shuō)要增加條件語(yǔ)句如: switch---case。

對(duì)于這個(gè)問(wèn)題,接下來(lái)的工廠方法模式可以解決這個(gè)問(wèn)題。


工廠方法模式

工廠方法就是為配一個(gè)產(chǎn)品提供一個(gè)獨(dú)立的工廠類,通過(guò)不同的工廠實(shí)例來(lái)創(chuàng)建不同的產(chǎn)品實(shí)例。


優(yōu)點(diǎn):

1.擁有良好的封裝性,代碼結(jié)構(gòu)清晰。對(duì)于每一個(gè)對(duì)象的創(chuàng)建都是有條件約束的。

? 如:調(diào)用一個(gè)具體的產(chǎn)品對(duì)象,只需要知道這個(gè)產(chǎn)品的類名和約束參數(shù)就可以了,不用知道創(chuàng)建對(duì)象自身的復(fù)雜過(guò)程。降低模塊之間的耦合度。

2.擁有良好的擴(kuò)展性,新增一個(gè)產(chǎn)品類,只需要適當(dāng)?shù)脑黾庸S類或者擴(kuò)展一個(gè)工廠類,如下面的例子中,當(dāng)需要增加一個(gè)數(shù)據(jù)庫(kù)Oracle的操作,

? 則只需要增加一個(gè)Oracle類,廠類不用修改任務(wù)就可完成系統(tǒng)擴(kuò)展。

3.屏蔽產(chǎn)品類。這一特點(diǎn)非常重要,產(chǎn)品類的實(shí)現(xiàn)如何變化,調(diào)用者都不需要關(guān)心,它只需要關(guān)心產(chǎn)品的接口,只要接口保持不變,系統(tǒng)中的上層模塊就不要發(fā)生變化。


使用場(chǎng)景:

·1.支付寶、微信、銀聯(lián)的連接方式(cornectMode),支付方式(payMode)。使用工廠模式,

“客戶"就不需要要知道具體的連接方式和支付方式了,只需要調(diào)用connectMode和payMode即可。

2. MySQL、SQL Server、Oracle等數(shù)據(jù)庫(kù)的連接方式(connectMode)、查詢方式(selectMode)等操作可以使用工廠模式進(jìn)行封裝。

抽象工廠模式

1、抽象工廠模式的組成

·1.抽象工廠(AbstvactFactovy):確定工廠的業(yè)務(wù)范圍。

·2.具體工廠(ConcreteFactovy) :每個(gè)具體工廠對(duì)應(yīng)-一個(gè)產(chǎn)品族。具體工廠決定生產(chǎn)哪個(gè)具體產(chǎn)品對(duì)象。

·3.抽象產(chǎn)品(AbstractProduct):同--產(chǎn)品等級(jí)結(jié)構(gòu)的抽象類。

·4.具體產(chǎn)品(ConcreteProduct):可供生產(chǎn)的具體產(chǎn)品。


2、工廠方法模式的組成

·一個(gè)抽象產(chǎn)品類,可以派生出多個(gè)具體產(chǎn)品類。

·一個(gè)抽象工廠類,可以派生出多個(gè)具體工廠類?!っ總€(gè)具體工廠類只能創(chuàng)建一個(gè)具體產(chǎn)品類的實(shí)例。

3、簡(jiǎn)單工廠模式的組成

·多個(gè)抽象產(chǎn)品類,每個(gè)抽象產(chǎn)品類可以派生出多個(gè)具體產(chǎn)品類一個(gè)抽象工廠類,可以派生出多個(gè)具體工廠類。

·每個(gè)具體工廠類可以創(chuàng)建多個(gè)具體產(chǎn)品類的實(shí)例。


4、三種工廠模式的比較

·簡(jiǎn)單工廠:用來(lái)生產(chǎn)同一等級(jí)結(jié)構(gòu)中的任意產(chǎn)品。(對(duì)于增加新的產(chǎn)品,無(wú)能為力)

·工廠方法:用來(lái)生產(chǎn)同一等級(jí)結(jié)構(gòu)中的固定產(chǎn)品。(支持增加任意產(chǎn)品)

·抽象工廠:用來(lái)生產(chǎn)不同產(chǎn)品族的全部產(chǎn)品。(對(duì)于增加新的產(chǎn)品,無(wú)能為力;支持增加產(chǎn)品族)



工廠模式的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
雅江县| 汝阳县| 重庆市| 登封市| 准格尔旗| 桂平市| 福建省| 中山市| 仁化县| 寻甸| 黑龙江省| 巴青县| 嘉义县| 类乌齐县| 金川县| 磐安县| 宁乡县| 龙海市| 陆河县| 兴山县| 沐川县| 盘锦市| 渭源县| 抚松县| 澜沧| 楚雄市| 车致| 抚远县| 绍兴市| 大悟县| 林口县| 子长县| 安塞县| 信阳市| 抚远县| 安西县| 咸宁市| 灌南县| 江津市| 镇赉县| 公主岭市|