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

溫馨提示×

溫馨提示×

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

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

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

新田县| 建昌县| 古交市| 临泉县| 洪雅县| 福海县| 玉树县| 东山县| 藁城市| 宜宾县| 元氏县| 钟祥市| 拉孜县| 大同县| 禹州市| 墨江| 临江市| 汝南县| 阿拉尔市| 郸城县| 长葛市| 隆回县| 南溪县| 千阳县| 浪卡子县| 关岭| 葵青区| 资阳市| 开封县| 博爱县| 正镶白旗| 临猗县| 耒阳市| 景东| 仁怀市| 西林县| 巴彦淖尔市| 通城县| 安平县| 谷城县| 元谋县|