您好,登錄后才能下訂單哦!
什么是建造者模式
所謂建造者模式,就是將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示的設計模式。建造者模式在構建過程中隱藏了復雜的實現細節,可以大大降低代碼耦合度。
建造者模式的實現方式
《水滸傳》講述了的故事,梁山泊是一個不斷壯大的隊伍
先寫一個Troops:
public abstract class Troops { |
這是梁山的Troops:
public class Liangshan extends Troops { |
再寫一個Builder:
public abstract class Builder { |
這是好漢們的Builder:
public class LiangshanBuilder extends Builder { |
接下來寫一個Director:
public class Director { |
我們只需要如下代碼便可以實現梁山好漢的大聚義:
Builder builder = new LiangshanBuilder(); |
在實際開發過程中,Director層常常被省略,由一個鏈式調用的Builder來進行對象的組裝。我們這次用梁山好漢的對立面——方臘來舉例,這次這么改寫上文的Builder:
public class MingjiaoBuilder{ |
當然,Troops是這樣繼承的:
public class Mingjiao extends Troops { |
然后方臘作亂犯上的過程是這樣的:
MingjiaoBuilder builder = new MingjiaoBuilder() |
Android源碼中的建造者模式
(1)AlertDialog.Builder
AlertDialog.Builder是Android源碼中最常見的建造者模式,調用方式不再贅述。不過請注意這個建造者模式中并沒有Director層的出現,因此這是一種簡化的建造者模式。
Android開發中如何利用建造者模式
(1)建造者模式具備封裝性良好的優點。在一個對象的初始化特別復雜、并且很多參數都有默認值時的優勢非常明顯。
(2)建造者模式還具備Builder獨立、易于擴展的優點。可以在幾個setter方法執行順序不同時產生不同的結果。
需要注意的幾個問題
(1)建造者模式會產生多余的Builder對象和Director對象,是典型的用運行效率換開發進度的設計模式
本系列其他博客
【設計模式與Android】原型模式——復制中心走出來的克隆人
【設計模式與Android】工廠方法模式——化工女神的工廠
【設計模式與Android】抽象工廠模式——嵌合體克隆工廠
【設計模式與Android】策略模式——錦囊里的上策中策下策
【設計模式與Android】狀態模式——一個人的兩幅面孔
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。