Android 建造者(Builder)模式
来源:互联网 发布:tp5.0 项目源码 编辑:程序博客网 时间:2024/05/16 06:58
关于 Builder 模式 详述:http://blog.csdn.net/jjwwmlp456/article/details/39890699
先来张图
看到 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();
个人感觉,好处就是:
1. 有选择的构建需要的属性,不需要为了使用哪个构造方法而纠结
2. 调用时,赋值一个属性后,编译器立即提示其它可执行的构建属性的方法,书写更方便、快速
0 0
- Android 建造者(Builder)模式
- Android中建造者(builder)模式
- Builder 建造者模式
- 建造者模式(Builder)
- 建造者模式(Builder)
- 建造者模式 - builder
- Builder建造者模式
- 建造者模式(Builder)
- 建造者模式(builder)
- 建造者模式(Builder)
- 建造者模式--Builder
- Builder建造者模式
- builder建造者模式
- Builder(建造者模式)
- 建造者模式,Builder
- 建造者模式(Builder)
- 建造者(Builder)模式
- 建造者模式(Builder)
- iterator与const_iterator及const iterator区别
- 用转换器将word转为ppt的转换过程
- 中国と温暖化―対策の強化と前倒しを
- Mac下hosts文件配置
- asp.net 后台弹框,过一定时间跳到另外一个页面
- Android 建造者(Builder)模式
- 如何在三个月内创立一家估值200亿的游戏公司?
- HHH
- 2012年5月SAT香港真题解析
- CentOS下iptables的端口映射
- 入库单出库单能否实现仓库只有审核权无反审核权
- iOS手势 伸缩 移动 旋转
- Mysql笔记1
- Objective C中数组排序几种情况的总结