關於Builder 模式詳述://m.sbmmt.com/java-article-355847.html
先來張圖
# #看到Android 中使用了Builder 模式的地方還是很多的。
使用時大概如下:
Notification noti = new Notification.Builder(context).build();AlertDialog dialog = new AlertDialog.Builder(context).create();
在builder()和create()之前還可以建立多個屬性,類似下面的範例
範例
/** * author : stone * email : aa86799@163.com * time : 15/7/3 10 26 */ public class TestBuilder { private int a; private String b; public int getA() { return a; } public String getB() { return b; } protected TestBuilder(Builder builder) { this.a = builder.ma; this.b = builder.mb; } public static class Builder { private int ma; private String mb; public Builder createA(int a) { this.ma = a; return this; } public Builder showB(String b) { this.mb = b; return this; } public TestBuilder build() { return new TestBuilder(this); } } public static void main(String[] args) { TestBuilder tb = new TestBuilder.Builder() .createA(88) .showB("susan") .build(); } }
註:
1. 這裡是透過靜態內部類別Builder來建構零件
2. 每個零件的建構方法傳回該建構者
3. 外部實際物件的建構方法的存取符應為private或protected,使其只能透過內部類別來建立
與普通的Java-Bean的比較:
Bean中用setter 或建構方法中一堆參數, 來給屬性賦值
這裡,用new Builder().a.b.c...build();
以上是詳細介紹Android建造者(Builder)模式的案例的詳細內容。更多資訊請關注PHP中文網其他相關文章!