中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

秦安县| 佳木斯市| 阿坝| 巴中市| 新密市| 资中县| 北流市| 确山县| 习水县| 沾化县| 龙口市| 长宁区| 托克逊县| 酒泉市| 金山区| 观塘区| 项城市| 宁河县| 马龙县| 如皋市| 汶川县| 新营市| 达拉特旗| 德保县| 哈密市| 吉安县| 荆州市| 潮州市| 汕头市| 大埔县| 绥宁县| 遂昌县| 额尔古纳市| 辽中县| 资讯| 新野县| 萝北县| 沙河市| 阿勒泰市| 遂宁市| 寿光市|