java建造者模式

2021-09-11 07:27:01 字數 2788 閱讀 6498

在現實生活中如果我們需要製造乙個比較複雜的東西,比如手機,台式電腦,或者汽車等。如果我們要製造一台電腦的話我們會先將電腦所需的各個部件買回來然後在組裝起來成為一台電腦。這裡電腦所需的各個元件比如顯示器,cpu,硬碟等等都是由不同的廠商生產的,然後被我們不同的組合而成了不同的產品。這是現實生活中和建造者模式類似的場景,而在程式中也一樣有些情況下我們需要建立比較複雜的物件,在這種場景下我們可以通過建造者模式來實現,

實際開發中,我們所需要的物件構建時非常複雜,且有很多步驟需要處理時,這時建造者模式就很適合。

分離了物件子元件的單獨構造(由builder來負責)和裝配(由director負責)。 從而可以構造出複雜的物件。這個模式適用於:某個物件的構建過程複雜的情況下使用。

由於實現了構建和裝配的解耦。不同的構建器,相同的裝配,也可以做出不同的物件;相同的構建器,不同的裝配順序也可以做出不同的物件。也就是實現了構建演算法、裝配演算法的解耦,實現了更好的復用

建立我們的太空飛船類,也就是我們最終的產品類

package com.dpb.build;

/** * 太空飛船

* @author 波波烤鴨

* */

public

class

airship

public orbitalmodule getorbitalmodule()

public

void

setorbitalmodule

(orbitalmodule orbitalmodule)

public engine getengine()

public

void

setengine

(engine engine)

public escapetower getescapetower()

public

void

setescapetower

(escapetower escapetower)

}// 軌道艙

class

orbitalmodule

public

void

setname

(string name)

public

orbitalmodule

(string name)

}// 發動機

class

engine

public

void

setname

(string name)

public

engine

(string name)

}// 逃生塔

class

escapetower

public

void

setname

(string name)

public

escapetower

(string name)

}

定義我們的元件構造者及實現元件構造者

/**

* 定義飛船建造的規則

* @author dengp

* */

public

inte***ce

airshipbuild

package com.dpb.build;

/** * 構建飛船相關的元件

* @author dengp

* */

public

class

dpbairshipbuild

implements

airshipbuild

@override

public engine buildengine()

@override

public escapetower buildeescapetower()

}

定義產品組裝介面及組裝的實現

package com.dpb.build;

public

inte***ce

airshipdirector

package com.dpb.build;

/** * 組裝波波牌飛船

* @author dengp

* */

public

class

dpbairshipdirector

implements

airshipdirector

@override

public airship directorairship()

}

public

class

client

}

輸出結果

烤鴨牌發動機

烤鴨牌軌道艙

烤鴨牌逃生艙

發射...

sql中的preparedstatement

jdom中,dombuilder、saxbuilder

java 建造者模式

一 話不多說,直接上 這個模式的使用場景很多public class student public studentbuilder set string public studentbuilder setschool string school public studentbuilder setage...

java建造者模式

建造者模式 builder 用以自由構建物件,主要功能就是代替物件的建構函式,更加自由化。author gjing class custom private custom builder builder override public string tostring public static cl...

java之建造者模式

將乙個複雜物件的構造與它的表示分離,使同樣的構建過程可以建立不同的表示,這樣的設計模式被稱為建造者模式。依賴倒轉原則,抽象不應該依賴細節,細節應該依賴與抽象 建造者模式的角色定義,在建造者模式中存在以下4個角色 builder 為建立乙個產品物件的各個部件指定抽象介面。concretebuilder...