構建器模式

2021-09-29 23:16:52 字數 1550 閱讀 7593

動機:建立乙個複雜的物件,這個物件各個部分劇烈變化,但是組合到一起卻相對穩定(跟template method很像)

public

class

templatemethodtest

private

void

step2()

private

void

step3()

private

void

step4()

private

void

step5()

public

void

run()}

class

test

implements

templatemethodtest

@override

private

void

step2()

@override

private

void

step3()

@override

private

void

step4()

@override

private

void

step5()

}public

class

test

extends

templatemethodtest

}

這裡可以優化,分離步驟執行順序和分步驟具體實現

public

class

templatemethodtest

private

void

step1()

private

void

step2()

private

void

step3()

private

void

step4()

private

void

step5()

}class

director

public

void

run()}

//c++沒辦法在建構函式中呼叫,則分離出來

class

test

implements

templatemethodtest

@override

private

void

step2()

@override

private

void

step3()

@override

private

void

step4()

@override

private

void

step5()

}public

class

test

extends

templatemethodtest

}

Java構建器模式

當建立物件需要傳入多個引數的時候我們通常會根據引數的數量寫不同的構造器,具體如下 public a int a public a int a,int b public a int a,int b,int c 根據不同的引數呼叫不同的構造器,但是當引數多了的時候,這種方式不夠靈活,所以會實現動態傳參的...

構建器模式(Builder)

構建複雜物件 超多的屬性 也可以乙個乙個set 方法 但是根據業務邏輯將屬性分組,採用鏈式呼叫更清晰 介面方式 1.建立某一構造器介面 根據相應複雜物件設計介面方法 2.建立實現類 複雜物件例項,每個方法實現中賦值複雜物件並最終方法retrun 物件 3.呼叫形式 terrainbuilder bu...

設計模式 構建器 建造者 模式

定義 使用多個簡單的物件構建成乙個複雜的物件。個人理解 講乙個整體的各個部分組合到一起,例如乙個人有年齡 身高等屬性,統計資訊時可能會用到這個人某幾個屬性,那麼需要什麼就把什麼組合到一起。優點 建造者建造自己的東西,也可擴充套件。缺點 當內部比較複雜的時候,就會對應的建造很多類。public cla...