91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

在什么情況下可以使用web工廠方法

發布時間:2022-01-13 16:59:52 來源:億速云 閱讀:162 作者:iii 欄目:大數據

這篇文章主要介紹了在什么情況下可以使用web工廠方法的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇在什么情況下可以使用web工廠方法文章都會有所收獲,下面我們一起來看看吧。

適用性

在下列情況下可以使用Factory Method模式:
? 當一個類不知道它所必須創建的對象的類的時候。

當一個類需要創建某種對象卻無法事先知道它的類型信息的時候。例如前文提到的應用/文檔架構。這個架構的使用者是開發人員,開發的應用也成千上萬,架構的提供者當然沒有辦法知道需要創建對象的類型。可以使用工廠方法模式決定所要創建的對象類型。

這種情況是真不知道。

? 當一個類希望由它的子類來指定它所創建的對象的時候。

如果我們的設計面向的不是通用的架構,只是一個具體的應用場景,那么大多數情況下我們可以知道(至少是知道大部分)需要創建對象的具體類型。但是出于某種考慮(將來的擴展,分散開發的需求等等),仍然希望將創建實際對象的職責交給其子類。

這種情況是裝不知道。


? 當類將創建對象的職責委托給多個幫助子類中的某一個,并且你希望將哪一個幫助子類是代理者這一信息局部化的時候。

這句話很難理解,還是看原文。

classes delegate responsibility to one of several helper subclasses, and
you want to localize the knowledge of which helper subclass is the delegate.

原文前半句中委托的職責并沒有明確指出是創建對象的職責,很大的可能是翻譯不準確。以下結合實例說明作者的理解,類圖如下:

在什么情況下可以使用web工廠方法

我們的例子是圖形編輯軟件,支持Rect和Circle兩種圖形,它們都是Shape類的子類。另外,由于某種原因(例如我們希望將來圖形可以在不同的操作系統中表示)我們希望將它們的圖形的描畫功能委托給RectDrawer和CircleDrawer兩個幫助子類。如上圖所示,由于使用了工廠方法模式創建不同的Drawer子類。關于描畫功能具體委托給了哪個Drawer子類的信息都被限制在了具體的圖形子類中。

關于“在什么情況下可以使用web工廠方法”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“在什么情況下可以使用web工廠方法”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

web
AI

陵川县| 高邮市| 青田县| 曲靖市| 贺州市| 灌南县| 华坪县| 九龙坡区| 海兴县| 高安市| 安康市| 高阳县| 仪征市| 苗栗市| 梨树县| 闻喜县| 沛县| 乌拉特中旗| 石棉县| 平阳县| 鄄城县| 宜春市| 永安市| 山西省| 吐鲁番市| 囊谦县| 红原县| 库尔勒市| 南溪县| 来宾市| 额尔古纳市| 辽源市| 武胜县| 新津县| 基隆市| 长沙县| 丹棱县| 绥芬河市| 禹城市| 阿合奇县| 东海县|