您好,登錄后才能下訂單哦!
這篇文章主要講解了“在什么情況下可以使用web抽象工廠模式”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“在什么情況下可以使用web抽象工廠模式”吧!
適用性
在以下情況可以使用Abstract Factory模式
? 一個系統要獨立于它的產品的創建、組合和表示時。
對于一個一定規模以上的軟件,經常會出現需要多個功能組件協同工作的情況。為了降低耦合性,增強擴展性,經常要對系統進行分解。這時將功能組件的創建,組合(協同動作)和表示分離是一種常用的方式。而功能組件的創建部分就可以使用抽象工程模式。
? 一個系統要由多個產品系列中的一個來配置時。
這種例子比較多,除了意圖部分窗口主題以外,許多稍微復雜一點數據處理系統也都可以考慮使用抽象工廠模式。
? 當你要強調一系列相關的產品對象的設計以便進行聯合使用時。
關聯產品的創建都是通過同一個具象工廠類創建,控制了工廠類,也就控制了關聯產品的組合關系。
? 當你提供一個產品類庫,而只想顯示它們的接口而不是實現時。
雖然實際動作的具象工廠類,產生的也是具象類的產品,但是對Clinet公開的只有抽象工廠類和抽象產品類。這樣就為產品類庫日后調整產品留下了余地。
適用性歸納
上面列舉了四個場景,重點就是一件事:如果我們希望創建產品的過程與其他處理分離,就可以使用簡單工廠;如果還希望創建過程可擴展就可以使用抽象工廠模式。
《設計模式》適用性的第四種情況實際上是抽象工廠模式的副產品。
開發實例
除了《設計模式》中的例子以外,我們另外提供一個更加貼近開發的例子。
假設我們有這樣一個圖像圖例軟件:需要處理的圖像格式有gif和jpeg兩種,目前需求是顏色處理和大小處理。考慮到將來可能發生圖像類型,處理內容的擴展,我們可以如下設計這個系統。
上面的類圖和前面的例子基本相同,唯一的差別就是兩個具象工廠類需要和所有的數據處理具象類之間有依賴關系。
感謝各位的閱讀,以上就是“在什么情況下可以使用web抽象工廠模式”的內容了,經過本文的學習后,相信大家對在什么情況下可以使用web抽象工廠模式這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。