美文网首页
建造者模式源码案例

建造者模式源码案例

作者: pepsi1000 | 来源:发表于2019-08-07 17:27 被阅读0次

1. 使用时机

建造者模式与工厂模式很类似,那么我们该如何选择呢?

简单来说,创建一个对象需要很多步骤时,选择建造者模式。创建一个对象只需要一个方法时,选择工厂模式。这是因为建造者模式的关注点是方法调用顺序,而工厂模式的关注点是创建产品,而且建造者遵循了最少知道原则,即将构建产品顺序和细节封装在建造者内部,用户无需知道产品的构建细节。

2. 源码案例

JDK

  • StringBuilder#append
  • StringBuffer#append 加锁,保证线程安全

Guava

  • Immutable#copyOf

Lombok

  • @Builder
/**
 * @Author shaohsiung
 * @Date 2019/7/26 21:53
 * @Hint 建造者模式+静态内部类实现链式构造user对象
 **/
@ToString
public class User {
    private Long id;
    private String userName;
    private String password;

    public User build(UserBuilder userBuilder) {
        this.id = userBuilder.id;
        this.userName = userBuilder.userName;
        this.password = userBuilder.password;
        return this;
    }

    public static UserBuilder builder() {
        return new UserBuilder();
    }

    public static class UserBuilder {
        private Long id;
        private String userName;
        private String password;

        public UserBuilder id(Long id) {
            this.id = id;
            return this;
        }
        public UserBuilder userName(String userName) {
            this.userName = userName;
            return this;
        }
        public UserBuilder password(String password) {
            this.password = password;
            return this;
        }

        public User build() {
            return new User().build(this);
        }
    }
}

Spring

  • BeanDefinitionBuilder

Mybatils

  • SqlSessionFactoryBuilder
  • XmlConfigBuilder

相关文章

  • Builder Pattern in Java

    建造者模式:建造者模式定义建造者模式应用场景实现案例Jdk中的建造者模式建造者模式的优点建造者模式的缺点 建造者模...

  • 建造者模式源码案例

    1. 使用时机 建造者模式与工厂模式很类似,那么我们该如何选择呢? 简单来说,创建一个对象需要很多步骤时,选择建造...

  • 建造者模式(部件构造)

    目录 建造者模式的理念 从 POJO 到建造者模式的思考 怎么来实现建造者模式 建造者模式在Android源码中的...

  • 学习源码-Retrofit之用到的设计模式

    参考:手把手带你 深入读懂 Retrofit 2.0 源码 建造者模式Builder 建造者模式:将一个复杂对象的...

  • 建造者模式案例

    [TOC] 《建造者解析》 例子 分析 步骤 1、创建 :食物条目类Item{名称 、 包装 、 价格 、}和食...

  • 设计模式之建造者模式

    建造者模式 为什么使用及建造者模式 就以《大话设计模式》中的案例来说吧,中国人做饭,同一个鱼香肉丝,不同的厨师做出...

  • 设计模式(4) 建造者模式

    什么是建造者模式 经典建造者模式的优缺点 对建造者模式的扩展 什么是建造者模式 建造者模式将一个复杂的对象的构建与...

  • Android 中用到设计模式的例子

    AlertDialog、Notification 源码中使用了 Bulider(建造者)模式完成参数的初始化 在 ...

  • 【设计模式】之建造者Builder模式

    建造者模式 什么是建造者模式? 建造者模式属于创建型模式的一员,可以控制对象的实例化过程。建造者模式简化了复杂对象...

  • 建造者模式

    一、建造者模式介绍 二、建造者模式代码实例

网友评论

      本文标题:建造者模式源码案例

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