构建者模式的设置理念

构建者模式:

简单来说就是对象的表现与构建分离开来,即把对象的使用分为两个步骤:


第一步输入各种参数进行构建,此时只能设置属性不能操作业务动作;


第二步根据构建好的对象开展业务动作,此时不能修改属性设置


每个方法的返回值都是外部类的对象。所以可以一直.调用下去设置值 直到。build方法不饿调用s
通过.Builder调用内部类选择不同的方法设置属性,并把值储存起来用final修饰,保证只会被赋值一次。
最后通过.build()方法 创建出外部类对象, 
此时 外部类的变量已经被赋值,并且.build方法返回了本类的对象提供给外部。


这时进行第二步
通过返回的外部类对象 操作外部类方法 。

以下为代码的简单实现:

public class 外部类{

public final String name;
public final String age;
public final String sex;

//逻辑方法 返回this.
public startMusic(name){


}

public String getName(){
if(name != null){
逻辑代码
}
return this;
}
public String getAge(){
if(age != null){
逻辑代码
}
return this;
}
public String getSex(){
if(sex != null){
逻辑代码
}
return this;
//私有化的构造方法  
public Person(Builder builder) {  
        this.name = builder.name;  
        this.sex= builder.sex;  
        this.age = builder.age;  
    }  

//外部类.内部类调用
public static class Builder{
public String name;
public String cache;
public String sex;

//这些方法 就是选择性的赋值和业务逻辑 功能
public String post(String post){
this.post = post;
return this;
}

public String cache(String cache){
this.cache = cache;
return this;
}

public String setSex(String sex){
this.sex = sex;
return this;
}


public Person build() {  
            return new Person(this);  
        }  
}
}




Android中会用到建造者模式的场合,一般是与异步操作有关的。
因为异步操作的等待时间较长,极有可能在等待过程中发生属性值变更的情况,
所以为了避免属性变化导致处理异常,就要引入建造者模式。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值