1. 程式人生 > >如何使用建造者模式(Builder Pattern)建立不可變類

如何使用建造者模式(Builder Pattern)建立不可變類

本文由 ImportNew - 唐小娟 翻譯自 Journaldev。如需轉載本文,請先參見文章末尾處的轉載要求。

ImportNew注:如果你也對Java技術翻譯分享感興趣,歡迎加入我們的 Java開發 小組。參與方式請檢視小組簡介。

我寫過一篇《如何建立不可變類》。這篇文章中,我們將看到如何使用建造者模式建立不可變類。當構造器中的引數很多時,並且引數的順序會給人造成困擾的時候,那麼使用建造者模式來建立不可變類就是非常好的方法了。

使用建造者模式來建立不可變類

下面是使用建造者模式來建立不可變類的例子:

ImmutableClass.java

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 package com.journaldev.design.builder; import java.util.HashMap; public class ImmutableClass { //required fields private int id; private String name; //optional fields private HashMap properties;

相關推薦

如何使用建造模式(Builder Pattern)建立可變

本文由 ImportNew - 唐小娟 翻譯自 Journaldev。如需轉載本文,請先參見文章末尾處的轉載要求。 ImportNew注:如果你也對Java技術翻譯分享感興趣,歡迎加入我們的 Java開發 小組。參與方式請檢視小組簡介。 我寫過一篇《如何建立不

建造模式-Builder Pattern 複雜物件的組裝與建立——建造模式(三):關於Director的進一步討論,建造模式總結

8.4 關於Director的進一步討論 指揮者類Director在建造者模式中扮演非常重要的作用,簡單的Director類用於指導具體建造者如何構建產品,它按一定次序呼叫Builder的build

建造模式-Builder Pattern 複雜物件的組裝與建立——建造模式(二):遊戲角色設計的建造模式解決方案

8.3 完整解決方案       Sunny公司開發人員決定使用建造者模式來實現遊戲角色的建立,其基本結構如圖8-3所示: 圖8-3 遊戲角色建立結構圖       在圖8-3中,Ac

設計模式系列之建造模式(Builder Pattern)——複雜物件的組裝與建立

說明:設計模式系列文章是讀`劉偉`所著`《設計模式的藝術之道(軟體開發人員內功修煉之道)》`一書的閱讀筆記。個人感覺這本書講的不錯,有興趣推薦讀一讀。詳細內容也可以看看此書作者的部落格`https://blog.csdn.net/LoveLion/article/details/17517213` ## 模

建造模式(Builder Pattern)

png ole col pac world 不同 ons console img 模式定義 造者模式(Builder Pattern):將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。 UML類圖 Builder:抽象建造者 ConcreteB

設計模式(三)建造模式Builder建立型)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

PHP設計模式(三)——建造模式(Builder Pattern)

@[TOC](PHP設計模式(三)——建造者模式(Builder Pattern)) 建造者模式(Builder Pattern):將一個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。 建造者模式是一步一步建立一個複雜的物件,它允許使用者只通過指定複雜物件的

用心理解設計模式——建造模式 (Builder Pattern)

前置文章: 用心理解設計模式——設計模式的原則  設計模式相關程式碼已統一放至 我的 Github   一、定義   建立型模式之一。   Separate the construction of a complex object

設計模式建造模式(Builder Pattern)

建造者模式也叫做生成器模式,在使用者不知道物件的建造過程和細節的情況下就可以直接建立複雜的物件。 建造者模式定義 Separate the construction of a complex object from its representation so that sam

Android設計模式建造模式(Builder Pattern)

假如一個物件由許多不同的屬性構造,我們想要構造一個我們自己指定特定屬性的物件,最簡單的方法就是為每種情況提供一個建構函式,我們根據不要的建構函式來得到我們需要的包含了指定屬性的物件。我們還是舉個例子吧。 一個人有姓名、性別、年齡、身高,體重這五個屬性組成,當我

面向物件設計模式之---建造模式(Builder Pattern)

進入正題咯,今天要介紹的是建造者模式。可以想象一下這樣一個場景:工廠要組裝人偶的過程,以前是全手工的,難免會出現缺胳膊少腿的情況,現在都是機器流水線,這個問題就避免了。再比如我們經常見到的KFC和金拱門,它們的味道在全世界都是一樣的,但是如果我們去一些小餐館吃飯,每一次去的味道多多少少會

C#設計模式建造模式(Builder Pattern)

模式解釋:         將一個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。 模式型別: 創造類模式。 適用場景:         1.建立一些複雜的物件時,這些物件的內部組成構件間的建造順序是穩定的,但是物件的內部組成構件面臨著複雜的變化

大白話建造模式(Builder Pattern)

前言 起初打算按照之前的日產系列寫建造者模式。但參考了網上的很多文章,讓我對建造者模式更加的困惑,也害怕自己無法已易懂的方式進行解釋。最後通過Google發現了一篇英文文章Builder,使我茅塞頓開。我自己對這篇文章進行了翻譯,希望對大家理解建造者模式有幫助。 意圖 建造者模式是建立型設計模式,用來逐步建立

設計模式-05建造模式(Builder Pattern)

1.模式動機 比如我們要組裝一臺電腦,都知道電腦是由 CPU、主機板、記憶體、硬碟、顯示卡、機箱、顯示器、鍵盤和滑鼠組成,其中非常重要的一點就是這些硬體都是可以靈活選擇,但是組裝步驟都是大同小異(可以組一個高配置的,也可以組一個低配置的),這時建造者模式可以很好的描述這類產品的建立。 2.模式定義 建造者模式

建造模式-Builder

復雜 uil nbsp align text pan left 不同 代碼實現 建造者模式:將一個復雜的對象的構建過程與他的表示分離,使得同樣的創建過程可以創建不同的表示。 建造者模式結構圖: 代碼實現: 建造者模式-Builder

設計模式建造模式 Builder

cli return over orb stat implement b- none rect 本質與使用場景 public interface AirShipBuilder { Engine builderEngine(); OrbitalM

06建造模式Builder

ring print make 子類 oid direct director private 什麽 一、什麽是建造者模式   Builder模式也叫建造者模式或者生成器模式, 是由GoF提出的23種設計模式中的一種。   Builder模式是一種對象創建型模式之一,用來

設計模式-建造模式(Builder)

建造者模式(Builder) 定義 : 將一個複雜物件的構建與它的表示分離, 是的同樣的構建過程可以建立不同的表示 使用者只需指定需要建造的型別就可以得到它們, 建造過程及細節不需要知道 型別 : 建立型設計模式 適用場景 一個物件有非常複雜

淺談Java設計模式——建造模式(Builder)

一、概述         將一個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。         建造者模式將複雜產品的構建過程封裝分解在不同的方法中,使得建立過程非常清晰,能夠讓我們更加精確的控制複雜產品物件的建立過程,同時它隔離了複雜產品物件的建立

建造模式 Builder

現在假設你想修一棟房子,房子的架構用二維資料來表示,如:0代表空間,1代表牆壁,2代表樓道。而你又想可以自己隨意更換房子的材料,如一樓是磚牆做材料,二樓是石頭做材料。 此時你可以找一個指揮者,他負責來讀你的架構,再找兩名能分別做磚牆和石頭的建築師來進行建造。現在只要指揮者按