【Android】一个例子解释创建者模式
来源:互联网 发布:淘宝网包邮服务 编辑:程序博客网 时间:2024/06/11 11:06
public class TargetClass(){//所有变量都要是private final的private final String name;private final int id;private final boolean flag;//私有化构造函数,不对外暴露private TargetClass(Builder builder){ this.name = builder.name; this.id = builder.id; this.flag = builder.flag;}public String getName(){return name;}public int getId(){return id;}public boolean isFlag(){ return flag;}//使用内部类创建构造者//内部类可以调用自己的私有方法//因此可以通过内部类来调用上面私有化的构造方法public static class Builder(){ //也是必须是private final的 private final String name; private final int id; private final boolean flag; public Builder(){ } //为了实现链式调用,每次都返回Builder对象 public Builder name(String name){ this.name = name; return this; } public Builder id(int Id){ this.id = Id; return this; } public Builder isFlag(boolean isFlag){ this.flag = isFlag; return this; } //创建TargetClass的对象 public TargetClass build(){ return new TargetClass(this); } }}
调用的时候只需要这样即可优雅的创建TargetClass的实例:
TargetClass target = new TargetClass.Builder() .name("abc") .id(123) .isFlag(true) .build();
阅读全文
0 0
- 【Android】一个例子解释创建者模式
- android 创建者(builder)模式
- 用一个例子解释Adapter设计模式
- 创建者模式
- 创建者模式
- 创建者模式
- 创建者模式
- 创建者模式
- 创建者模式
- 创建者模式
- 创建者模式
- 创建者模式
- 创建者模式
- 创建者模式
- 创建者模式
- 五分钟一个设计模式之创建者模式
- 一个例子解释AJAX
- 一个例子解释AJAX
- 算法提高 三进制数位和
- LintCode刷题记录入门题汇总
- C++学习笔记--类对象、继承、多态的内存模型
- Big Data Developer(Day01)
- const常量
- 【Android】一个例子解释创建者模式
- java基础系列(二)
- framebuffer的驱动框架
- 写作的乐趣
- SQL Server2005实现累加
- JavaScript(2)
- HDU 5241 Friends
- Unity3D
- Centos下安装MySQL