亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

BUILDER模式的實現方法是什么

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

本篇內容主要講解“BUILDER模式的實現方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“BUILDER模式的實現方法是什么”吧!

效果

它將構造代碼和表示代碼分開

Builder模式將構建對象的代碼和表現(表達)對象的代碼隔離開。這里的構建偏向于抽象的指示部分,表現(表達)則偏向實際的輸出。例如我們說裝一扇門,對于建筑模型來講,可能就是在模型上粘一個小木板;對于現場工人來講,可能真的就是安裝一個防盜門。這里裝一扇門就是抽象的指示,而粘小木板或者安裝防盜門則是具象表現(表達)的部分。

Builder模式通過封裝一個復雜對象的創建和表示方式提高了對象的模塊性。客戶不需要知道定義產品內部結構的類的所有信息;這些類是不出現在Builder接口中的。

構建任何一個對象,一般來講都有一個從抽象構建到具象構建(實現、表達)的過程。將這兩個過程分離之后,使用接口的一側就不需要了解接口實現的方式和內容,所以說這個對象更加模塊化了。

當然只有復雜到一定程度之后,這種分離才會產生實際的意義。要不要分離,需要設計者根據自己的看法進行判斷。

每個ConcreteBuilder包含了創建和裝配一個特定產品的所有代碼。這些代碼只需要寫一次;然后不同的Director可以復用它以在相同部件集合的基礎上構作不同的Product。在前面的RTF例子中,我們可以為RTF格式以外的格式定義一個閱讀器,比如一個SGMLReader,并使用相同的TextConverter生成SGML文檔的ASCIIText、TeXText和TextWidget譯本。

具象Builder類承擔的是實際構建的部分,它應該包含生成特定產品的代碼。對于每類(不是每個)產品,這部分代碼只需要寫一次;抽象構建的邏輯可以由不同的Director或者相同Director的不同邏輯來決定。

首先來看《設計模式》中的實例的類圖:

BUILDER模式的實現方法是什么

TextConverter中分別定義了轉換字符,字體和段落的接口。

DocumentBuilder定義了文檔開始,結束和生成Title1,Title2,Text的接口。

這種不同,其實這就是一個實際開發中如何定義Builder接口的問題。關于這個問題,作者的觀點是:

  1. 接口的定義應該按照Director世界中的觀點來進行。

  2. 接口的定義還應該考慮具象Builder的可實現性。

到此,相信大家對“BUILDER模式的實現方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

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

AI

佛山市| 尤溪县| 屏山县| 彭水| 汪清县| 怀安县| 报价| 福贡县| 饶河县| 盐亭县| 阳谷县| 康定县| 珲春市| 阜康市| 栾城县| 兰考县| 绥宁县| 花垣县| 涪陵区| 白河县| 马关县| 安多县| 田阳县| 双牌县| 安阳市| 神池县| 姚安县| 宁津县| 抚宁县| 筠连县| 西丰县| 萨嘎县| 平潭县| 合阳县| 孟津县| 盈江县| 尚志市| 山东省| 武威市| 正镶白旗| 赤壁市|