• 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方法里面

  • 相关阅读:
    (一)单例模式
    mysql数据库知识
    JavaScript
    Spring整合AspectJ的AOP
    Spring-AOP
    JDK代理和CGLIB代理
    mybatis-dao开发
    mybatis-入门
    CSS2.1
    HTML基础
  • 原文地址:https://www.cnblogs.com/ssskkk/p/13934768.html
Copyright © 2020-2023  润新知