(Java)設計模式學習筆記 構建者模式

2021-08-18 01:26:59 字數 986 閱讀 3505

構建者模式:將乙個複雜物件的構建與表示分離

由於構建者模式適用的是複雜的物件,而例子肯定不能太過複雜,所以以下例子無法完全體現構建者模式的用途

假設有乙個計算機類,如果要例項話它,則需要給它設定主機板,顯示器,作業系統。

public class computer
顯然,乙個完整的計算機例項需要具有以上所有屬性,且在設定屬性時,必須先設定主機板,否則無法設定作業系統。而且很多時候,其作業系統都是一樣的,呢麼我們每次例項化一台計算機時,都要手動給他全部set一次嗎?這顯然是很糟糕的做法,而構建者模式正是解決這一系列問題的方案。

public class computerbuilder 

public computerbuilder se***isplay(string mdisplay)

public computerbuilder setmos(string mos)

public computer creat()

}

建立乙個builder類,這樣我們就不再需要關注computer的設定順序,而且我們給定作業系統的預設值為win10,這樣一來,但系統是win10時我們就不再需要手動設定,而如果是其他系統,我們照常設定即可。

使用:

computer mcomputer = new computerbuilder().se***isplay("設定顯示屏").setmboard("設定主機板").creat();

computer mcomputertow = new computerbuilder().se***isplay("設定顯示屏").setmboard("設定主機板").setmos("設定作業系統").creat();

這樣我們就建立出了我們要的computer物件。

當類的屬性越多,限制越多的時候,構建者模式發揮的作用就會越大,以上例子構建者模式解決了在不改變computer類的情況下,屬性設定的順序,給定屬性的預設值兩個問題。

java設計模式 構建者模式

建立者模式和工廠模式有點類似,不過關注點不同。工廠模式往往只關心你要的是什麼,二不關心這個東西的具體細節是什麼。而建立模式則關心的是這個東西的具體細節的建立。拿建立人物來說,我們關心的不僅是建立乙個人物,還要關心他的性別,膚色和名字,則可以使用建立者模式 package builder doc 種族...

設計模式之構建者模式 學習筆記

先上個簡陋的類圖,後面把rose專業的畫類圖軟體裝上,自己為了學習留個筆記,方便以後查詢使用,以下的例子從構建乙個person展開。coding 1 構建者介面設計 public inte ce ibuilder2 person實體類 public class person public void ...

設計模式之構建者模式 學習筆記

先上個簡陋的類圖,後面把rose專業的畫類圖軟體裝上,自己為了學習留個筆記,方便以後查詢使用,以下的例子從構建乙個person展開。coding 1 構建者介面設計 public inte ce ibuilder2 person實體類 public class person public void ...