设计模式_Builder模式

本文介绍了Builder模式的基本概念及其在创建复杂对象时的应用。该模式让用户能在不了解内部细节的情况下控制对象的构造流程,尤其适用于参数众多的情况,能有效提高代码的可读性和可维护性。

Builder模式是一步一步创建一个复杂对象的创建型模式,他允许用户在不知道内部构造细节的情况下,可以更精细地控制对象的构造流程。该模式是为了将一个复杂对象的构建与他的表示分离,使得同样的构建过程可以创建不同的表示。

使用场景

例如,在创建一个对象时,如果该对象的构造方法需要多个参数,而多个参数势必会增加开发者调用该构造方法时的难度,一两个参数还好,如果说参数有5个,甚至是更多的时候,开发者在调用方法的时候就需要一个个的比对参数的作用,而如果中途构造方法的参数改变了,就需要改动很多个地方,也就是增加了维护及拓展的难度。

而使用Builder模式,可以直接通过setMethodName()来设置参数,而如果setMethodName()返回的是Builder本身,还可以实现链式创建。这让代码变得更为的清晰,同时也容易维护及拓展。

public Builder setName(String name) {
    this.name = name;
    return builder;
}

public Builder setAge(String name) {
    this.name = name;
    return builder;
}

new TestBuilder().setName("haha").setAge(20);

上面介绍的这个使用场景是Builder模式使用在创建对象时,在Android中,AlertDialog.Builder就采用了这种方式,具体的各位可以查看一下相关的源码。
除了这个使用场景之外,Builder模式也可以用于正常的开发中,不仅仅是构造方法,但是由于它们的思路是一样的,这里就不再赘述,毕竟思想最重要 : )

额外的

Builder模式可以将一个对象的创建分为必要参数和可选参数,这样也增加了一个组件或者是一个函数的用途。在Builder的构造方法中填入必要的参数,而可选的参数就可以使用setMethodName()这种方法来动态的添加,这在Android中相当重要,可以多使用使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值