zoukankan      html  css  js  c++  java
  • Builder设计模式

    背景

    当一个java对象有大量的成员变量,在构造它的时候有以下几种方式

    1.构造方法传参 缺点:代码难以编写,难以阅读)

    2.使用get set方法:缺点:每个set只操作一个属性 没有相近属性进行更好的封装

    3.builder构造器

    build构造器

    builder构造器会把类的成员变量分成好几类

    比如人的姓名,年龄和id是基础信息,这三个信息可以抽象成一个构造方法

    身高和体重 抽象成一个外形的构造方法。

    代码如下

        public static class PersonBuilder {
            Person p = new Person();
            public PersonBuilder basicInfo(int id, String name, int age) {
                p.id = id;
                p.name = name;
                p.age = age;
                return this;
            }
            public PersonBuilder appearancen (double weight,double height) {
                p.weight = weight;
                p.height = height;
                return this;
            }
            public Person build() {
                return p;
            }
        }

    我们则可以使用构造器构造对象

            Person p = new Person.PersonBuilder()
                    .basicInfo(1, "zhangsan", 18)
                    .appearancen (120,170)
                    .build();

    个人观点:构造器就是对set方法的一个封装,把相近set的方法封装在一个builder方法里面

  • 相关阅读:
    ps 玻璃效果
    svn 官方下载
    svn
    c# form 无标题
    app Inventor google 拖放手机代码块
    paas
    java 延迟
    c# 执行 cmd
    c # xml操作 (无法将类型为“System.Xml.XmlComment”的对象强制转换为类型“System.Xml.XmlElement”)
    eclipse 安装插件 link方式
  • 原文地址:https://www.cnblogs.com/ssskkk/p/13934768.html
Copyright © 2011-2022 走看看