1. 程式人生 > >複雜物件建立終結者(Builder Pattern)

複雜物件建立終結者(Builder Pattern)

搗鼓了很長時間,終於對建造者模式有初步理解,現在寫篇記錄下。緣起就是建立的物件比較複雜,需按功能分散。類似造一輛汽車,作為汽車廠家,你需要造車身,造輪胎等,精髓在於領導者(Director),領導者指揮各個部門執行,然後向客戶提交整車。

構建模式

將一個複雜物件的搭建與他的表示分離,使得同樣的構建過程可以建立不同的表示.

UML:

小Q截圖-20131130222554

Director:

   1:  public class PersonDirector {
   2:      public Person constructPerson(PersonBuilder pb){
   3:  
pb.buildeHead();
   4:          pb.buildeBody();
   5:          pb.buildeFoot();
   6:          return pb.buildePerson();
   7:      }
   8:  }

程式碼:

   1:  public static void main(String[] args) {
   2:              PersonDirector pd=new
PersonDirector();
   3:              Person person=pd.constructPerson(new ManBuilder());
   4:              System.out.println(person.getHead()+","+person.getBody()+","+person.getFoot());
   5:              Person womanPerson=pd.constructPerson(new WomanBuilder());
   6:              System.out
.println(womanPerson.getHead()+womanPerson.getBody()+womanPerson.getFoot());
   7:  //            男人頭,男人身體,男人的腳啊
   8:  //            女人的頭女人的身體女人的腳
   9:          }

相關推薦

複雜物件建立終結者(Builder Pattern)

搗鼓了很長時間,終於對建造者模式有初步理解,現在寫篇記錄下。緣起就是建立的物件比較複雜,需按功能分散。類似造一輛汽車,作為汽車廠家,你需要造車身,造輪胎等,精髓在於領導者(Director),領導者指揮各個部門執行,然後向客戶提交整車。 構建模式 將一個複雜物件的搭建與他的表示分離,使得同樣的

建造者模式-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模式用於建立複雜物件

這種Builder模式使用靜態內部類實現。當初始化一個物件特別複雜,如引數多,且很多引數都具有預設值時,使用這種模式可以使建立物件的過程更清晰。 比如有一個Request類,代表請求,這個請求有很多屬性。 public final class Request {

複雜物件建立--建造者模式(Builder

1初識建造者模式 建造者模式實際上是常用的設計模式。顧名思義,builder的意思是建造者或者建築工人,談到建造自然會想到樓房。樓房是千差萬別的,樓房的外形、層數、內部房間的數量、房間的裝飾等等都不一樣,但是對於建造者來說,抽象出來的建築流程是確定的,往往建築

建立型模式--建造者模式【Builder Pattern

介紹 建造者模式使用多個簡單的物件一步一步構建成一個複雜的物件。這種型別的設計模式屬於建立型模式,它提供了一種建立物件的最佳方式。 原始碼 java.lang.StringBuilder#appe

builder -物件建立模型

    1.意圖               將一個複雜物件和它的表示分離,使得同樣的構建過程可以建立不同的表示      2.參與者       &

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

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

Spring中通過FactoryBean建立複雜物件

public class ConnFactoryBean implements FactoryBean<Connection>{     private String driver;     private String url;     private String username;     

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

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

複雜物件的組裝與建立——建造者模式(三)

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

複雜物件的組裝與建立——建造者模式(一)

      沒有人買車會只買一個輪胎或者方向盤,大家買的都是一輛包含輪胎、方向盤和發動機等多個部件的完整汽車。如何將這些部件組裝成一輛完整的汽車並返回給使用者,這是建造者模式需要解決的問題。建造者模式又稱為生成器模式,它是一種較為複雜、使用頻率也相對較低的建立型模式。建造

複雜物件的組裝與建立——建造者模式(二)

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

設計模式深入淺出(二)物件建立——Builder,原型,單例

Builder Builder模式,顧名思義,建造者。 這個模式讓我想到了前一段時間的裝修。現在的裝修工程一般是這樣配置的:有一個專案經理,全權由他負責及排程手下的泥工,電工,木工,油漆工的工作。整個裝修階段,泥工,電工等工種會輪流(反覆)進場或中間有些交叉

複雜物件的組裝與建立——建造者模式(一):遊戲角色設計,模式概述

沒有人買車會只買一個輪胎或者方向盤,大家買的都是一輛包含輪胎、方向盤和發動機等多個部件的完整汽車。如何將這些部件組裝成一輛完整的汽車並返回給使用者,這是建造者模式需要解決的問題。建造者模式又稱為生成器模式,它是一種較為複雜、使用頻率也相對較低的建立型模式。建造者

【java設計模式】【創建模式Creational Pattern】建造模式Builder Pattern

part main ons rod over res {} retrieve [] 1 package com.tn.pattern; 2 3 public class Client { 4 public static void main(String[

Builder Pattern

cto exce 嚴重 屬性設置 不一致 methods 缺點 分表 對象 遇到多個構造器形參時要考慮用構建器引言遇到多個構造器時要考慮用構建器(builder)重疊構造器(telescoping constructor)// Telescoping constructor

建造者模式(Builder Pattern

pub 圖片 imp 客戶端 問題 復雜 override 適合 type 定義: 將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示 解決的問題: 方便用戶創建復雜的對象(不需要知道實現過程) 代碼復用性 & 封裝性(將對象構建

建造者模式(Builder Pattern)

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