設計模式學習 建造者模式

2021-10-17 05:30:16 字數 839 閱讀 4507

下面是建造者模式鏈式實現的**,省略了getter和setter。

// 使用建造者模式實現computer的例項化

// 如果使用構造方法初始化,引數將有5個,會使構造方法的使用過於複雜

public

class

computer

@override

public string tostring()

';}public

static

class

builder

public builder setram

(string ram)

public builder setusbcount

(int usbcount)

public builder setkeyboard

(string keyboard)

public builder setdisplay

(string display)

public computer build()

}}

例項化computer**:

computer pc = new computer.builder()

.setcpu("i7")

.setram("16gb")

.setusbcount(2)

.setkeyboard("cherry")

.setdisplay("dell 27inch")

.build();

system.out.println(pc);

學習設計模式 建造者模式

說明 如果你需要將乙個複雜的物件或功能的構建流程和表示分離,使得同樣的構建流程,也可以建立出不同的表示,例如麥當勞做炸東西,炸東西的流程是一樣的,但放入的材料不同,炸出來的東西不一樣 例如雞排 雞腿 雞翅等 需求 使用者要個炸雞腿 解決方式 a.定義乙個產品類 炸東西 b.定義乙個構建產品部分或過程...

設計模式學習 建造者模式

建造者模式主要用於分離物件的建立和配置。呼叫元件負責提供資料。並負責將配置資料傳遞給建造者。建造者代替呼叫元件去建立響應的物件。好處 何時使用 示例程式 新建乙個名為builder的 osx命令列程式 實現如下 class burger let customername string let veg...

設計模式 建造者模式

在gof的23種設計模式中對builder pattern的定義是 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。從程式角度來說,就是在基類定義某種事物建立的過程或業務流程,在子類進行重寫或是使用基類方法。這樣建立出來的例項不會因為過程或流程的丟失而使業務失敗。舉例來說,...