UML關(guān)系簡單介紹
UML簡單使用的介紹
創(chuàng)建型設(shè)計(jì)模式
Android設(shè)計(jì)模式-單例模式
Android設(shè)計(jì)模式-工廠模式
Android設(shè)計(jì)模式-抽象工廠模式
Android設(shè)計(jì)模式-建造者模式
Android設(shè)計(jì)模式-原型模式
結(jié)構(gòu)型設(shè)計(jì)模式
Android設(shè)計(jì)模式-代理模式
Android設(shè)計(jì)模式-裝飾模式
Android設(shè)計(jì)模式-適配器模式
Android設(shè)計(jì)模式-組合模式
Android設(shè)計(jì)模式-門面模式
Android設(shè)計(jì)模式-橋接模式
Android設(shè)計(jì)模式-享元模式
行為型設(shè)計(jì)模式
Android設(shè)計(jì)模式-策略模式
Android設(shè)計(jì)模式-命令模式
Android設(shè)計(jì)模式-責(zé)任鏈模式
Android設(shè)計(jì)模式-模版方法模式
Android設(shè)計(jì)模式-迭代器模式
Android設(shè)計(jì)模式-觀察者模式
Android設(shè)計(jì)模式-備忘錄模式
Android設(shè)計(jì)模式-中介者模式
Android設(shè)計(jì)模式-訪問者模式
Android設(shè)計(jì)模式-狀態(tài)模式
Android設(shè)計(jì)模式-解釋器模式
1.定義
將一個(gè)復(fù)雜對象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示媳纬。
2.建造者模式UML圖
角色介紹
- Director 導(dǎo)演類双肤,告訴Builder開始創(chuàng)建對象。導(dǎo)演類起到了封裝的作用钮惠,避免高層模塊深入到建造者內(nèi)部的實(shí)現(xiàn)茅糜。在建造者模式比較龐大時(shí),導(dǎo)演類可以有多個(gè)素挽。
- Builder 抽象建造者類 規(guī)范產(chǎn)品的組建蔑赘,一般由子類實(shí)現(xiàn)
- ConcreteBuilder 具體建造者類,實(shí)現(xiàn)抽象類定義的所有方法预明,并返回一個(gè)組建好的對象
- Product 產(chǎn)品類缩赛,具體要生產(chǎn)的對象
3.實(shí)現(xiàn)
3.1產(chǎn)品類
public class Product {
public void m1(){
}
}
3.2 抽象建造者
public abstract class Builder {
public abstract void setpart();
public abstract Product buildProduct();
}
3.3 具體建造者
public class ConcrereBuilder extends Builder {
private Product product=new Product();
@Override
public void setpart() {
/**
* 產(chǎn)品類內(nèi)的處理邏輯
*/
}
@Override
public Product buildProduct() {
return product;
}
}
3.4 導(dǎo)演類
public class Director {
private Builder builder=new ConcrereBuilder();
//構(gòu)建不同的產(chǎn)品
public Product getProduct(){
builder.setpart();
/**
* 設(shè)置不同的零件,組建不同的產(chǎn)品
*/
return builder.buildProduct();
}
}
4.總結(jié)
4.1優(yōu)點(diǎn)
- 封裝性撰糠,使用建造者模式可以使客戶端不必知道產(chǎn)品內(nèi)部的具體組成細(xì)節(jié)酥馍,不需要關(guān)心其內(nèi)部是怎么實(shí)現(xiàn)的
- 容易擴(kuò)展,建造者獨(dú)立阅酪,對擴(kuò)展是非常有利對
- 便于控制細(xì)節(jié)風(fēng)險(xiǎn)旨袒,由于具體的建造者是獨(dú)立的汁针,因此可以設(shè)置不同的建造過程而不對其他模塊產(chǎn)生影響。
4.2使用場景
- 相同的方法砚尽,不同的執(zhí)行過程施无,產(chǎn)生不同的結(jié)果,可以使用建造者模式
- 多個(gè)屬性都可以裝配到一個(gè)對象中必孤,但是產(chǎn)生的結(jié)果又不相同猾骡,則可以使用建造者模式
- 產(chǎn)品類非常復(fù)雜,或者產(chǎn)品類中調(diào)用順序不同產(chǎn)生不同的效能敷搪,這時(shí)候也可以使用建造者模式
- 在對象的創(chuàng)建過程中會使用到一些其他對象兴想,這些對象在產(chǎn)品對象的創(chuàng)建過程中不易得到時(shí),也可以使用建造者模式封裝該對象的創(chuàng)建過程购啄。
注意事項(xiàng)
建造者模式關(guān)注的是零件類型和裝配工藝(順序)襟企,這是他與工廠模式最大不同的地方,雖然同為創(chuàng)建型模式狮含,但是他們的住重點(diǎn)是不同的。