將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示
public
person(string name)
public
person(string name, int age)
public
person(string name, int age, string ***)
比如上**要實現多個不同引數的構造方法需要多個不同引數的構造方法,不夠靈活,**量也大
public
class person
private string name;
private
int age;
private string ***;
public string getname()
public
void
setname(string name)
public
intgetage()
public
void
setage(int age)
public string get***()
public
void
set***(string ***)
public
static
class builder
public builder age(int age)
public builder ***(string ***)
public person build()
}}
person.builder builder = new person.builder();
person person = builder
.age(19)
.name("liu")
.***("nv")
.build();
很熟悉的方式
以上**是通過構建者模式實現的多個不同引數的方法,等同於構建了不同引數的構造方法
android原生的alertdialog也是通過構造者模式實現的
alertdialog.builder dialogbuilder = new alertdialog.builder(this);
alertdialog dialog = dialogbuilder
.settitle("title")
.create();
Builder 建造者模式
模式定義 builder模式很好地將乙個複雜物件的建立與該物件內部的各個部件的組裝分離開來。它和 abstract factory模式有相似的地方,但是abstract factory主要提供了乙個建立一些列相關或相互依賴的物件的介面,無需知道指定他們具體的類 生產者 而builder模式著重於部件...
建造者模式(Builder)
工廠類模式提供的是建立單個類的模式,而建造者模式則是將各種產品集中起來進行管理,用來建立復合物件,所謂復合物件就是指某個類具有不同的屬性,其實建造者模式就是前面抽象工廠模式和最後的test結合起來得到的。我們看一下 還和前面一樣,乙個sender介面,兩個實現類mailsender和smssende...
建造者模式(Builder)
4 建造者模式 builder 工廠類模式提供的是建立單個類的模式,而建造者模式則是將各種產品集中起來進行管理,用來建立復合物件,所謂復合物件就是指某個類具有不同的屬性,其實建造者模式就是前面抽象工廠模式和最後的test結合起來得到的。我們看一下 建造者類如下 抽象產品類,使用了模板方法模式,不同產...