构造者模式的简单见解

构造者模式用于解决构造参数过多且存在依赖关系的问题,通过校验和延迟创建确保对象正确构建。实现包括创建目标类并设置只读属性,创建内部Builder类进行setter方法并校验,最后通过builder方法验证参数关系并生成实例。
摘要由CSDN通过智能技术生成
为什么要使用构造者模式

存在要创建的类,构造器参数过多有些字段是必要的有些事非必要的它们之间还存在依赖关系,大小比较等

1)如果直接new 对象,构造参数太多,字段有关系,不能保证每个参数都正确setter进去。

构造者模式的作用

就是为了解决以上问题的。

先是做各个字段的校验,和字段之间的依赖关系等。确保以上的创建对象的参数没问题后,才真正的创建需要的类。(延迟创建实例)

实现过程

如何实践构造者模式呢?

1, 创建要被构建的类,添加属性定义, 创建getter, 不要定义setter。
2, 创建构建者Builder 类, 是静态内部类。 public static class。字段和外部类差不多。
3, Builder 类 setter, 参数校验。[ setter 需要放回Builder对象this]
4, builder 方法。 验证各个参数之间的关系,放回被构建的类对象 new ResourcePool(this)

以下是一个例子:

public class ResourcePoolConfig {
   

    private String name;       // 名字
    private int maxTotal;      // 最大总数
    private int maxIdle;       // 最大数量
    private int minIdle;       // 最小数量

    /**
     * 私有化构造器,为了不让外界直接通过 new 的方式生成对象。
     *
     * 传递一个构建者对象进去,设置当前类的属性
     * @param builder
     */
    private ResourcePoolConfig(Builder builder){
   
        // 外部类可以通过一个内部类实例,可以访问内部类的属性。
        this.name = builder.name;
        this.maxTotal = builder.maxTotal;
        this.maxIdle = builder.maxIdle;
        this.minIdle = builder.minIdle;
    }</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值