Android中的Builder模式

各位工程师在代码中肯定遇到过这种创建对象的方法 new Builder.setAge(2).setName(“战三”).setSex(“男”).build;

没错这就是传说中的Builder模式。

1.     Builder介绍

  Builder模式是一步一步创建一个复杂对象的创建模式,它允许用户在不知道内部构造细节的情况下,可以精细的控制对象的创建流程。该模式是为了将构建复杂的对象的过程和他的部件解耦,是得构建过程和部件的表示隔离开来。

因为一个复杂的对象有很多大量的组成部分,例如人,有眼、鼻、手、脚等各种组成,如何将这些部件组成一人,这要经过复杂的孕育,为了在构建过程中对外隐藏细节,就可以使用Builder模式将这些部件和组装过程分离,使得构建过程和部件都可以对外自由扩展,两者之间的耦合度也降到最低。

2.     Builder模式的定义

将一个复杂的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

3.     Builder模式的使用场景

(1)      相同方法不同的执行顺序,产生不同的事件结果时。

(2)      多个部件或零件,都可以装配到到一个对象中,但是产生的运行结果又不同时。

(3)      产品类非常复杂,或者产品类中的调用顺序不同产生了不同的作用,这个时候使用建造这模式非常合适,

(4)      当初始化一个对象特别复杂,如参数多,且很多参数都具有默认值时。

4.     Builder的简单使用

5. publicclass Person {
   
private Stringname;
    private float
height;
    private int
age;

    private
Person(Builderbuilder) {
       
name =builder.name;
       
height =builder.height;
       
age =builder.age;
   
}

   
public static final class Builder {
       
private Stringname;
        private float
height;
        private int
age;

        public
Builder() {
        }

       
public Buildername(String name) {
           
this.name = name;
            return this;
       
}

       
public Builderheight(floatheight) {
           
this.height = height;
            return this;
       
}

       
public Builderage(int age) {
           
this.age = age;
            return this;
       
}

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

 

 

在代码中使用

new Person.Builder().age(2).build();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值