设计模式

建造者模式

2019-09-23  本文已影响0人  TZX_0710

使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式
应用场景:一些基本属性不变,在基础属性上再添加其他属性。
举例:我们现在有一个用户,属性参数为id,name,pwd,这些为基本参数,但是我们还有一个电话号码的属性,但是这个电话号码属性可能并不是必须的。(举例太过浮夸,勿喷)

public class Users {

    private int id;

    private String username;

    private String pwd;

    private String phone;

    //建立一个构造器
    static class  BuilderUser{
        private int id;

        private String username;

        private String pwd;

        private String phone;

        public BuilderUser(int id,String username,String pwd){
            this.id=id;
            this.username=username;
            this.pwd=pwd;
        }

        public BuilderUser phone(String phone){
            this.phone=phone;
            return this;
        }
        //创建builder方法
        public Users builder(){
            return new Users( this );
        }
    }
    //创建构造函数
    public Users(BuilderUser builderUser){
        this.id=builderUser.id;
        this.username=builderUser.username;
        this.pwd=builderUser.pwd;
    }

    public static void main(String[] args) {
        Users users=new BuilderUser( 1,"TG","pwd" ).phone( "135" ).builder();
    }
}
上一篇 下一篇

猜你喜欢

热点阅读