Java設計模式之建造者模式

2021-09-08 00:11:54 字數 1911 閱讀 6298

定義:將乙個複雜的物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。

舉例乙個:

肯德基食品包含:漢堡(20元)、薯條(12元)、炸雞翅(16元)、蛋撻(9元)、可樂(10元)

下面有需求,提供**的自由組合,並列印出最終**。

建立食品介面(由於需求上只是列印名字和計算**,那麼飲料和食品並沒有分開):

public

inte***ce

food

建立漢堡(20元)、薯條(12元)、炸雞翅(16元)、蛋撻(9元)、可樂(10元)實體類:

public

class

hanbao

implements

food

@override

public

intgetprice()

}public

class

shutiao

implements

food

@override

public

intgetprice()

}public

class

zhajichi

implements

food

@override

public

intgetprice()

}public

class

danta

implements

food

@override

public

intgetprice()

}public

class

kele

implements

food

@override

public

intgetprice()

}

建立**類(建造者模式核心):

**類構造方法對外隱藏,只能通過builder來建立

public

class

taocan

private

taocan

(list

list)

public

void

showdetail()

system.out.

print

("**包含: "

+name.

tostring()

+"\n");

system.out.

print

("**總**: "

+price+

" 元\n");

}public

static

class

builder

public taocan build()

}}

點餐:

public

class

test

}

列印結果:

**包含: 漢堡可樂

**總**: 30 元

這裡的特點為:

每個單品是不變的(漢堡、薯條。。。)

構建過程是不確定的(隨意組合)

與抽象工廠模式的區別:

抽象工廠模式的本質是解決介面呼叫的分配問題,而建造者模式本質是解決組合的不確定性問題。

抽象工廠模式工廠一旦確定,製造的產品是不可變的,而建造者模式根據使用者呼叫不同可以生產出不同產品。

java設計模式之建造者模式

概念 建造者模式是指把乙個複雜物件的構建和表示分離,就像建房子一樣,每乙個房子的建造流程都是相同的,但是卻會有很多形狀不一,樣式不同的房子,這裡的房子實際上就是房子這個物件的表示,建造的流程就是房子物件的構建 建造者模式的構成部分 1.builder介面 builder介面設計要表示物件的構建流程,...

Java設計模式之建造者模式

builder模式也叫建造者模式或者生成器模式,是由gof提出的23種設計模式中的一種。builder模式是一種物件建立型模式之一,用來隱藏復合物件的建立過程,它把復合物件的建立過程加以抽象,通過子類繼承和過載的方式,動 態地建立具有復合屬性的物件。具體的構建物件 房子 public class h...

JAVA設計模式之建造者模式

分離物件子元件,子元件單獨構造 由builder來負責 和裝配模式 由director負責 從而可以構造出複雜物件。這個模式適用於某個物件構造特別複雜。由於實現了構建和裝配的解耦。不同的構建器,相同的裝配,也可以生產不同的物件的物件 相同的構建器和不同的裝配順序也可以構造不同的物件,這樣實現了構建演...