iis服务器助手广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >如何使用建造者模式
  • 740
分享到

如何使用建造者模式

2024-04-02 19:04:59 740人浏览 八月长安
摘要

本篇内容介绍了“如何使用建造者模式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1使用场景在阅读源码过程中

本篇内容介绍了“如何使用建造者模式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1使用场景

在阅读源码过程中经常看到建造者模式,主要是为了简化复杂对象的创建。

具体那些房子啥的举例子就不扯了,以实际工作中的应用为主。

@Builder 注解

如果小伙伴使用 lombok 这个框架的话,那一定对 @Builder 这个注解不会陌生。

@Data @Builder public class UserRespVo {          private String userName;           private String userId;      public static void main(String[] args) {          UserRespVo respVo = UserRespVo.builder()                 .userId("liuzhihang")                 .userName("程序员小航")                 .build();     } }

看一下编译后的 .class 文件。

public class UserRespVo {     private String userName;     private String userId;      UserRespVo(final String userName, final String userId) {         this.userName = userName;         this.userId = userId;     }      public static UserRespVo.UserRespVoBuilder builder() {         return new UserRespVo.UserRespVoBuilder();     }      public static class UserRespVoBuilder {         private String userName;         private String userId;          UserRespVoBuilder() {         }          public UserRespVo.UserRespVoBuilder userName(final String userName) {             this.userName = userName;             return this;         }          public UserRespVo.UserRespVoBuilder userId(final String userId) {             this.userId = userId;             return this;         }          public UserRespVo build() {             return new UserRespVo(this.userName, this.userId);         }      } }

其实就是在内部创建了一个 Builder 的静态内部类,以及一个 builder() 方法。这样就可以进行链式调用了。

如果对于复杂对象的创建,小伙伴也可以采用 lombok 的这种方式,先创建 builder 对象,然后一步一步构建对象。

在源码和工作中

在阅读源码,或者是使用开源软件的时候,经常会遇到建造者模式,比如 OkHttp3Utils

private static OkHttpClient client = new OkHttpClient             .Builder()             .readTimeout(60, TimeUnit.SECONDS)             .connectTimeout(60, TimeUnit.SECONDS)             .writeTimeout(120, TimeUnit.SECONDS)             .build();

比如 Eureka 源码中 InstanceInfo 的构建。

如何使用建造者模式

InstanceInfo.Builder

比如使用 elasticsearch 创建 client 的代码

RestClient restClient = RestClient.builder(     new HttpHost("localhost", 9200, "http"),     new HttpHost("localhost", 9201, "http"))     .build();

还比如 mybatis Plus,等等等……

“如何使用建造者模式”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 如何使用建造者模式

本文链接: https://www.lsjlt.com/news/83131.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用建造者模式
    本篇内容介绍了“如何使用建造者模式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1使用场景在阅读源码过程中...
    99+
    2024-04-02
  • 如何使用Javascript实现建造者模式
    小编给大家分享一下如何使用Javascript实现建造者模式,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!JavaScript有什么特点1、js属于一种解释性脚本语言;2、在绝大多数浏览器的支持下,js可以在多种平台下运行...
    99+
    2023-06-14
  • 设计模式系列之如何使用建造者模式
    这篇文章主要讲解了“设计模式系列之如何使用建造者模式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“设计模式系列之如何使用建造者模式”吧! 1、概述...
    99+
    2024-04-02
  • 设计模式之建造者模式
    文章目录 盖房项目需求传统方式解决盖房需求传统方式的问题分析建造者模式概述是建造者模式的四个角色建造者模式原理类图建造者模式的注意事项和细节 盖房项目需求 需要建房子:这一过程为打桩、砌墙、封顶房子有各种各样的,比如普通房,高楼...
    99+
    2023-08-30
    设计模式
  • Go|使用Options模式和建造者模式创建对象实战
    目录复杂对象的问题Options 模式建造者模式总结复杂对象的问题 在 Golang 中一般创建复杂对象,一般会使用2种方式创建对象:Options 模式(函数式选项模式)和建造者...
    99+
    2023-05-16
    Go Options创建对象 Go Options建造者模式
  • Java设计模式之建造者模式
    本文由老王家组装电脑引出——建造者设计模式,详细介绍建造者模式的基本概念和实现代码,为了便于理解建造者模式,我们会对实际应用中的典型案例进行介绍。最后对比工厂...
    99+
    2024-04-02
  • C#设计模式之建造者模式
    场景:我们的冒险家,现在需要去武器商店买一把兵器,有刀和剑两种武器,冒险者可以告诉武器商人需要哪一种武器,然后武器商人进行锻造,最后把产品给冒险者,用建造者模式如何实现? 1.什么是...
    99+
    2024-04-02
  • java建造者模式怎么应用
    Java的建造者模式可以应用于以下情况:1. 当一个类的构造函数参数很多,且参数之间存在依赖关系时,可以使用建造者模式来简化构造函数...
    99+
    2023-08-31
    java
  • JAVA设计模式----建造者模式详解
    目录介绍角色代码演示通过反射创建建造者对象优点缺点适用场景总结介绍 建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的...
    99+
    2024-04-02
  • web开发中如何入门建造者模式
    本篇文章给大家分享的是有关web开发中如何入门建造者模式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。今天我们要讲的是设计模式中三种模式(创建...
    99+
    2024-04-02
  • Java建造者模式是什么
    这篇文章给大家分享的是有关Java建造者模式是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.提出问题假如说,我们需要建房子:这一过程为打桩、砌墙、封顶。房子有各种各样的,比如普通房,高楼,别墅,各种房子的...
    99+
    2023-06-29
  • java设计模式--建造者模式详解
    目录引例一般解法代码:AbstractHouse(房子)Bungalow(平房)Villa (别墅)客户端调用建造者模式建造者模式解法代码:House类(Product产品)Hous...
    99+
    2024-04-02
  • 怎样用Javascript实现建造者模式
    概述 建造者模式是相对比较简单的一种设计模式,属于创建型模式的一种; 定义:将一个复杂的对象分解成多个简单的对象来进行构建,将复杂的构建层与表现层分离,使相同的构建过程可以创建不同的...
    99+
    2024-04-02
  • Python 设计模式中的创建型建造者模式
    目录一、建造者模式二、代码示例一、建造者模式 建造者模式,顾名思义类似于建筑工人,他们按照有条理的施工顺序(e.g. 打桩 => 浇筑框架 => 砌墙 => 装修)...
    99+
    2024-04-02
  • C#怎么实现建造者模式
    这篇文章主要介绍“C#怎么实现建造者模式”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C#怎么实现建造者模式”文章能帮助大家解决问题。场景:我们的冒险家,现在需要去武器商店买一把兵器,有刀和剑两种武...
    99+
    2023-07-02
  • Java建造者模式实例分析
    今天小编给大家分享一下Java建造者模式实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。优点建造者独立,易扩展。便于控...
    99+
    2023-06-29
  • Java建造者模式案例分析
    这篇文章主要讲解了“Java建造者模式案例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java建造者模式案例分析”吧!什么是建造者模式建造者(Builder)模式的定义: 指将一个复杂...
    99+
    2023-06-29
  • java建造者模式怎么实现
    在Java中,可以通过以下步骤来实现建造者模式:1. 首先,创建一个需要构建的复杂对象的类,该类包含多个属性。这个类通常被称为“产品...
    99+
    2023-08-18
    java
  • Java创建型模式之建造者模式怎么实现
    这篇文章主要介绍了Java创建型模式之建造者模式怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java创建型模式之建造者模式怎么实现文章都会有所收获,下面我们一起来看看吧。一.介绍建造者模式(Build...
    99+
    2023-07-05
  • Java创建型设计模式之建造者模式详解
    目录前言定义结构实现方法应用场景总结建造者模式是Java中一种创建型设计模式,它的主要目的是将一个复杂对象的构建过程分解为多个简单对象的构建过程,并且使这些构建过程按照一定的顺序进行...
    99+
    2023-05-19
    Java建造者模式 Java建造者模式实践 Java创建型设计模式
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作