設計模式 05 建造者模式 鏈式呼叫

2021-10-13 10:08:12 字數 812 閱讀 2361

05.建造者模式 鏈式呼叫

我們在開發過程中,經常遇到這種寫法,product product= new builder().seta("fo").setb("bar").setc("so").build();

這種寫法可以一直.set鏈式呼叫,這也是建造者模式的一種寫法,通過鏈式呼叫去裝飾產品。最後build()建造產品。

上**。

public

class

computer

public

static

class

builder

public builder setusbcount

(int usbcount)

public builder setkeyboard

(string keyboard)

public builder setdisplay

(string display)

public computer build()

}//省略getter方法

}

在客戶端使用鏈式呼叫,一步一步的把物件構建出來。

computer computer=

newcomputer.builder

("因特爾"

,"三星").

setdisplay

("三星24寸").

setkeyboard

("羅技").

setusbcount(2

).build()

;

設計模式05 建造者模式

抽象一點說建造者模式的目的 將乙個複雜物件的構建與其表示相分離,使得同樣的構建過程可以建立不同的表示。設計模式 gof 舉個例子,一台電腦的主機板上有很多的硬體,可能根據需要要經常的更換。比如現在要將intel的cpu換成amd的,那麼我們不需要從新的構建一塊主機板,而是只換cpu就可以了。這就是建...

Builder建造者模式 鏈式呼叫

正常情況下,宣告乙個user類,然後列出幾條屬性,這個時候ide會提示說缺少初始化方法。然後就直接構建構造方法,像這樣 public class user 從上面 可以看出,雖然只有4個屬性,但是構造方法的引數已經顯得很累贅了,這個時候就需要用到builder模式先來簡化引數的個數。在user類中建...

C 設計模式05 建造者模式

建造者模式 在gof的 設計模式 可復用物件導向軟體的基礎 中是這樣說的 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。這句話,似懂非懂的。乙個複雜物件的建立,其通常是由很多的子物件構成 如果乙個物件能夠直接就建立好了,那麼也不會稱之為複雜物件。由於專案中需求的變化,這個...