構建者模式 Builder pattern

2022-07-15 16:15:08 字數 1663 閱讀 1966

構建者模式應用場景:

主要用來構建一些複雜物件,這裡的複雜物件比如說:在建造大樓時,需要先打牢地基,搭建框架,然後自下向上地一層一層蓋起來。通常,在建造這種複雜結構的物體時,很難一氣呵成。我們需要首先建造這個物體的各個部分,然後分階段將他們組合起來。那麼現在就出現了構建者模式:構建者模式由builder(建造者)和director(指揮者)組成。請看如下的uml圖:                    

director類

package com.yuan.builder.demo1;

//指揮:核心,負責指揮構建乙個工程,工程如何構建,由它決定

public class director

}

builder類

package com.yuan.builder.demo1;

//抽象的建造者

public abstract class builder

worker類

package com.yuan.builder.demo1;

/*** 具體的建造者:工人

*/public class worker extends builder

@override

void builda()

@override

void buildb()

@override

void buildc()

@override

void buildd()

@override

product getproduct()

}product類

package com.yuan.builder.demo1;

//產品:房子

public class product

public void setbuilda(string builda)

public string getbuildb()

public void setbuildb(string buildb)

public string getbuildc()

public void setbuildc(string buildc)

public string getbuildd()

public void setbuildd(string buildd)

@override

public string tostring() ';

}}

test類

package com.yuan.builder.demo1;

public class test

}

拓展思路:

誰知道什麼:在物件導向程式設計中,「誰知道什麼」是非常重要的。也就是說,我們需要在程式設計時注意哪個類可以適用哪些方法以及使用哪個方法到底好不好。

設計時能夠決定的事情和不能決定的事情:builder類中的抽象方法的定義!!!

構建者模式

定義 從乙個簡單物件一步一步構造複雜物件 優點及使用 list 僅僅通過指定的型別和內容構建複雜物件,而且隱藏構造的實現細節 解耦通過物件元件構造乙個複雜物件的過程 分離構造和顯示的 通過構造過程達到良好的控制 抽象工廠 重點是在工廠模式 簡單工廠或者複雜工廠 而構建者模式重點是由簡單物件構建複雜物...

構建者模式

目的 建立複雜物件 當乙個複雜物件由n個物件組成時,需要進行一系列的拆分,進行組裝,形成大的物件。比如 當建立乙個電腦物件時,電腦是由一系列的元件組合而成,比如滑鼠 鍵盤 顯示器,那麼需要獲取最終的物件,需要先建立一些小的物件。用實際專案中的例子舉例如下 mybatis 在構建乙個sqlsessio...

設計者模式 構建者模式

一 介紹 場景 建造乙個複雜的產品。比如 神舟飛船,iphone,這個複雜的產品建立,有這樣乙個問題需要處理 裝配這些子元件,是不是有個步驟問題?實際開發中,需要的物件,在構建時,也非常複雜,有很多步驟需要處理。建造者模式的本質 分離物件子元件的單獨構造 由builder來負責 和裝配 由direc...