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

溫馨提示×

溫馨提示×

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

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

Java設計模式中建造者模式怎么實現

發布時間:2021-11-17 14:42:51 來源:億速云 閱讀:114 作者:小新 欄目:大數據

小編給大家分享一下Java設計模式中建造者模式怎么實現,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

 

設計模式之建造者模式

 

Intro 簡介

建造者模式: 建造者模式隱藏了復雜對象的創建過程,它把復雜對象的創建過程加以抽象,通過子類繼承或者重載的方式,動態的創建具有復合屬性的對象。

需要的組件:

  • Product 最終要構建的產品
  • AbstractBuilder 創建一個 Product 的抽象 builder
  • ConcreteBuilder1/ConcreteBuilder2 創建 Product 具體的 builder
  • Director 指揮 builder 如何創建一個復雜的 Product(根據需要可以沒有)

主要解決:

主要解決在軟件系統中,有時候面臨著"一個復雜對象"的創建工作,其通常由各個部分的子對象用一定的算法構成;由于需求的變化,這個復雜對象的各個部分經常面臨著劇烈的變化,但是將它們組合在一起的算法卻相對穩定。

 

使用場景

當我們要創建的對象比較復雜,各種參數配置很多的時候可以考慮使用建造者模式,將復雜的構建過程封裝在構建者中

 

Sample

var director = new Director();
Builder builder1 = new ConcreteBuilder1(), builder2 = new ConcreteBuilder2();

director.Construct(builder1);
director.Construct(builder2);

var product2 = builder1.GetResult();
var product2 = builder2.GetResult();
 

.net core 中的各種 builder (HostBuilder/ConfigurationBuilder/...) 我覺得也是屬于建造者模式的,只是 Builder 本身就是 Director, 通過 builder 來實現對象的各種參數配置構建最終的目標對象 (Host/Configuration/...)


看完了這篇文章,相信你對“Java設計模式中建造者模式怎么實現”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

AI

莫力| 进贤县| 涪陵区| 福泉市| 大新县| 建宁县| 诏安县| 三河市| 新丰县| 平阳县| 枣强县| 宁海县| 宁明县| 秀山| 大洼县| 衡东县| 务川| 阜新| 西安市| 晋州市| 区。| 江达县| 奇台县| 冕宁县| 田东县| 江川县| 张家界市| 东源县| 分宜县| 闽清县| 靖远县| 磐石市| 屏边| 莱阳市| 汪清县| 巴南区| 娱乐| 平远县| 凤庆县| 新乐市| 徐州市|