Build模式

  1. 当一个类的构造函数参数个数很多,且这些参数有些是可选的参数,考虑使用构造者模式
  2. 代码
import lombok.ToString;

@ToString
public class Person {

    private String name;
    private int age;
    private int sex;
    private String address;
    private String phone;
    private String mail;

    public Person(Builder builder) {
        this.name = builder.name;
        this.age = builder.age;
        this.sex = builder.sex;
        this.address = builder.address;
        this.phone = builder.phone;
        this.mail = builder.mail;
    }

    public static class Builder {
        private String name;
        private int age;
        private int sex;
        private String address;
        private String phone;
        private String mail;

        public Builder buildName(String name){
            this.name = name;
            return this;
        }
        public Builder buildAge(int age){
            this.age = age;
            return this;
        }
        public Builder buildSex(int sex){
            this.sex = sex;
            return this;
        }
        public Builder buildAddress(String address){
            this.address = address;
            return this;
        }
        public Builder buildPhone(String phone){
            this.phone = phone;
            return this;
        }
        public Builder buildMail(String mail){
            this.mail = mail;
            return this;
        }

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

    public static void main(String[] args) {

        Person person = new Person.Builder()
                .buildName("sz")
                .buildAge(20)
                .buildSex(1)
                .build();
        System.out.println(person);
    }
}

版权声明:本文为weixin_51681634原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。