溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

在什么情況下可以使用web抽象工廠模式

發(fā)布時間:2022-01-13 16:23:31 來源:億速云 閱讀:149 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要講解了“在什么情況下可以使用web抽象工廠模式”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“在什么情況下可以使用web抽象工廠模式”吧!

適用性

在以下情況可以使用Abstract Factory模式

? 一個系統(tǒng)要獨立于它的產(chǎn)品的創(chuàng)建、組合和表示時。

對于一個一定規(guī)模以上的軟件,經(jīng)常會出現(xiàn)需要多個功能組件協(xié)同工作的情況。為了降低耦合性,增強擴展性,經(jīng)常要對系統(tǒng)進(jìn)行分解。這時將功能組件的創(chuàng)建,組合(協(xié)同動作)和表示分離是一種常用的方式。而功能組件的創(chuàng)建部分就可以使用抽象工程模式。

? 一個系統(tǒng)要由多個產(chǎn)品系列中的一個來配置時。

這種例子比較多,除了意圖部分窗口主題以外,許多稍微復(fù)雜一點數(shù)據(jù)處理系統(tǒng)也都可以考慮使用抽象工廠模式。

? 當(dāng)你要強調(diào)一系列相關(guān)的產(chǎn)品對象的設(shè)計以便進(jìn)行聯(lián)合使用時。

關(guān)聯(lián)產(chǎn)品的創(chuàng)建都是通過同一個具象工廠類創(chuàng)建,控制了工廠類,也就控制了關(guān)聯(lián)產(chǎn)品的組合關(guān)系。

? 當(dāng)你提供一個產(chǎn)品類庫,而只想顯示它們的接口而不是實現(xiàn)時。

雖然實際動作的具象工廠類,產(chǎn)生的也是具象類的產(chǎn)品,但是對Clinet公開的只有抽象工廠類和抽象產(chǎn)品類。這樣就為產(chǎn)品類庫日后調(diào)整產(chǎn)品留下了余地。

適用性歸納

上面列舉了四個場景,重點就是一件事:如果我們希望創(chuàng)建產(chǎn)品的過程與其他處理分離,就可以使用簡單工廠;如果還希望創(chuàng)建過程可擴展就可以使用抽象工廠模式。

《設(shè)計模式》適用性的第四種情況實際上是抽象工廠模式的副產(chǎn)品。

開發(fā)實例

除了《設(shè)計模式》中的例子以外,我們另外提供一個更加貼近開發(fā)的例子。

假設(shè)我們有這樣一個圖像圖例軟件:需要處理的圖像格式有g(shù)if和jpeg兩種,目前需求是顏色處理和大小處理??紤]到將來可能發(fā)生圖像類型,處理內(nèi)容的擴展,我們可以如下設(shè)計這個系統(tǒng)。

在什么情況下可以使用web抽象工廠模式

上面的類圖和前面的例子基本相同,唯一的差別就是兩個具象工廠類需要和所有的數(shù)據(jù)處理具象類之間有依賴關(guān)系。

感謝各位的閱讀,以上就是“在什么情況下可以使用web抽象工廠模式”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對在什么情況下可以使用web抽象工廠模式這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

web
AI