設計模式之Builder模式

2021-07-13 07:51:02 字數 1696 閱讀 5898

builder模式

乙個複雜物件的構建與他的表示分離,使得同樣的構建過程可以建立不同的表示

場景:1 相同的方法,不同的執行順序,產生不同的事件結果

2多個部件或零件,都可以裝配到乙個物件中,但是產生的執行結果又不同。

3產生類很複雜,產品類中的呼叫順序產生不同的作用

4初始化物件很複雜,引數很多,且很多引數都是預設值。

product  builder  concretebuilder  director

//抽象類 product

public abstract class car

public void setluntai(string luntai)

public void setfadongji(string fadongji)

public abstract void setpinpai();

@override

public string tostring()

}

//具體product

public class audi extends car

@override

public void setpinpai() ;

}

//抽象builder

public abstract class builder

//具體builder

public class audibuilder extends builder

@override

public void builddadongji(string fadongji)

@override

public void buildpinpai()

@override

public car createcar()

}

//director 構建product

public class director

public void construct(string fadongji,string luntai)

}

//test

public static void main(string args)

通過具體builder 構建具體product 物件,對外隱藏構建細節

實際開發中director經常會省略:

builder builder = new audibuilder();

builder.builddadongji("audi");

builder.buildluntai("audi");

builder.createcar();

使其更加簡單。

設計模式之Builder模式

builder模式是將複雜物件的構建和他的表示分離,使得同樣的建立過程可以建立不通的表示 其結構圖為 示例 為 class product1 class product2 class builder class concretebuilder1 public builder virtual conc...

設計模式之Builder模式

一 定義 在設計模式中對builder模式的定義是用於構建複雜物件的一種模式,所構建的物件往往需要多步初始化或賦值才能完成。使用builder模式就是用來替代多引數建構函式。二 在android中的應用 通過檢視原始碼發現,alertdialog的構造方法都是protected修飾,即除了它的子類,...

設計模式之Builder模式

builder模式也屬於一種建立模式,它主要用來產生比較複雜的物件。假如我們現在有 乙個很複雜的物件,它有好多部件組成,如果我們用new在構造器中構建的話,這樣 的耦合度很高,不能實現解耦的目的。這就要求我們將各個部件的生產和各個部 件的組裝分開來做。就好比生產一台電腦,一些部門專門負責生產各種的部...