美文网首页
JavaBean Builder 模式

JavaBean Builder 模式

作者: 勇往直前z | 来源:发表于2018-12-11 09:37 被阅读0次

例如有这个一个类的构造函数:

public Register(int id, int age, String name, String address, String like, int high, int weight)

那么此时的做法:

new Register(1, 20, "A", "B", "C", 170, 60);

这样的缺点就是:

  1. 参数会很乱,调用者很容易搞错参数的位置
  2. 如果不想为某个参数赋值,那么你还是要赋值,除非你另写一个没有该值的构造函数

Builder模式

public class Register {
    private int id;
    private int age;
    private String name;
    private String address;
    private String like;
    private int high;
    private int weight;

    public static class Builder {
        private int id;
        private String name;
        private int age;
        private String address;
        private String like;
        private int high;
        private int weight;

        public Builder(int id, String name) {
            this.id = id;
            this.name = name;
        }

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

        public Builder address(String address){
            this.address = address;
            return this;
        }

        public Builder like(String like){
            this.like = like;
            return this;
        }

        public Builder high(int high){
            this.high = high;
            return this;
        }

        public Builder weight(int weight){
            this.weight = weight;
            return this;
        }

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

    //私有化
    private Register(Builder builder){
        id = builder.id;
        name = builder.name;
        age = builder.age;
        address = builder.address;
        like = builder.like;
        high = builder.high;
        weight = builder.weight;
    }
}

此时的用法:

Register re = new Register.Builder(1, "liu").age(20).address("LA").like("Ball").high(180).build();

lombok.Builder 的 @Builder实现

相关文章

  • JavaBean Builder 模式

    例如有这个一个类的构造函数: 那么此时的做法: 这样的缺点就是: 参数会很乱,调用者很容易搞错参数的位置 如果不想...

  • Builder模式创建实例

    在java中实例化一个类的对象一般有三种模式,重叠构造器模式,javabean模式,builder模式。 重叠构造...

  • 设计模式:Builder

    Builder模式基本介绍Builder模式的实现源码中的Builder模式记录 Builder模式基本介绍 Bu...

  • Builder模式

    个人博客http://www.milovetingting.cn Builder模式 模式介绍 Builder模式...

  • Android中的构建者(Builder)模式

    目录一、场景分析二、定义三、Builder模式变种-链式调用四、经典Builder模式五、用到Builder模式的...

  • Builder模式

    Builder模式?(好熟悉,貌似有说不上来),在这里好好总结一下。 Builder模式的介绍 Builder模式...

  • 设计模式之构建者模式

    Builder属于创建型设计模式 Builder定义: Separate the construction of ...

  • 建造者模式

    建造者模式 创建型模式 Director、Builder、Product建造模型 Builder负责构建Produ...

  • Builder模式及原型模式

    本文主要内容 Builder模式定义 Builder模式 原型模式定义 原型模式 本文介绍两种简单的设计模式,Bu...

  • 对 JavaBean 的特点写法与实战心得详解

    一.JavaBean javaBean 是一个实体类,JavaBean 通过提供符合一致设计模式的公共方法向成员属...

网友评论

      本文标题:JavaBean Builder 模式

      本文链接:https://www.haomeiwen.com/subject/lkfshqtx.html