首页 > 其他分享 >建造者模式与lombok

建造者模式与lombok

时间:2024-09-27 17:45:19浏览次数:8  
标签:return String 建造 模式 CaseBuilder lombok desc public name

当一个类的参数过多,并且大部分时候这些参数都是可选参数的时候,我们就会考虑使用建造者模式

lombok插件中提供了Builder方法

@Data
@Builder
public class Case {
    private String name;
    private String desc;
}

编译后的case类

public class Case {
    private String name;
    private String desc;
  //1.该方法用于创建构造器,是使用建造者模式的入口
    public static CaseBuilder builder() {
        return new CaseBuilder();
    }public String getName() {
        return this.name;
    }

    public String getDesc() {
        return this.desc;
    }

    public void setName(final String name) {
        this.name = name;
    }

    public void setDesc(final String desc) {
        this.desc = desc;
    }

  //创建了一个CaseBuilder的内部静态类
    public static class CaseBuilder {
     //目标类的所有属性 private String name; private String desc;      //一个无参的方法 CaseBuilder() { }      //每一个参数都有相应的set方法,与正常set不同的是这里会返回构造器本身用于链式调用 public CaseBuilder name(final String name) { this.name = name; return this; } public CaseBuilder desc(final String desc) { this.desc = desc; return this; }      //返回当前类,结束的标志 public Case build() { return new Case(this.name, this.desc); } public String toString() { return "Case.CaseBuilder(name=" + this.name + ", desc=" + this.desc + ")"; } } }

 

标签:return,String,建造,模式,CaseBuilder,lombok,desc,public,name
From: https://www.cnblogs.com/kun1790051360/p/18436262

相关文章

  • Java设计模式6 - 策略模式
    策略模式策略模式的用意是针对一组算法,将每一个算法封装到具有共同接口的独立类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 策略模式的结构策略模式是对算法的包装,是把使用算法的责任和算法本身分开。策略模式通常是把一系列的算法包装......
  • JMeter的CLI模式(非GUI模式)常用命令
    JMeter的CLI模式(非GUI模式)常用命令ApacheJMeter是一款强大的开源性能测试工具,它支持图形用户界面(GUI)模式和非图形用户界面(CLI,即CommandLineInterface)模式。在实际的性能测试工作中,CLI模式因其能够减少资源消耗和提高测试效率而备受青睐。本文将详细介绍JMeter在CLI模式下的常......
  • Java设计模式5 - 原型模式
    原型模式原型模式属于对象的创建模式,通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象,这就是原型模式的用意。 原型模式结构原型模式要求对象实现一个可以克隆机身的接口,这样就可以通过复制一个实例对象本身来创建一个新的实例......
  • 建造者模式
    简介建造者模式(BuilderPattern)将一个复杂对象的构建过程与它的表示分离,使得同样的构建过程可以创建不同的表示,属于创建型设计模式。通用模板创建产品类:要创建的产品类对象。//产品类publicclassProduct{//产品组成部件1publicStringpart1;//......
  • thinkphp6调用微信商户支付-非工厂模式代码开发
    通过前面10多篇的微信支付开发-支付工厂代码开发我们发现,不管是jsapi支付、app支付、h5支付、native支付或是小程序支付,固定参数基本不变,且又是一家开发。个人建议,最实用的代码输出方式还是采用工具集封装最简单、最直接、最实用。一、支付产品流程图二、微信支付工具集代码......
  • 设计模式之迭代器模式
    迭代器模式迭代器模式(IteratorPattern)是一种行为设计模式,它提供了一种顺序访问集合对象中各个元素的方法,而不需要暴露该对象的内部表示。迭代器模式主要用来遍历集合,如列表、树、图等数据结构。目的迭代器模式的主要目的是将集合对象的遍历行为从集合对象中分离出来,使用一个独......
  • lombok~避免Boolean属性使用默认的方法
    前言前端与后端在进行交互时,前端传的对象中,有的属性是int,boolean这些类型,它们是有默认值的,当前端不转它们时,后端也会接收到默认值,如int为0,boolean为false,这就给后端代码带来不确定性;比如要有个put更新用户的方法,有个用户对象如下@DatapublicclassUserAccountResponseimplem......
  • 六、设计模式-6.1、单例模式
    6.1、单例模式6.1.1、在Java中实现单例模式有哪些方法?答:在Java中,实现单例模式的常用方法有以下几种:饿汉式单例模式:在类加载时就创建一个实例,并提供一个公共的静态方法获取实例。代码示例:publicclassSingleton{privatestaticSingletoninstance=newSinglet......
  • OJ在线评测系统 后端 判题机模块预开发 架构分析 使用工厂模式搭建
    判题机模块预开发(架构师)(工厂模式)判题机模块是为了把代码交个代码沙箱去处理得到结果返回代码沙箱梳理判题模块和代码沙箱的关系判题模块:调用代码沙箱把代码和输入交给代码沙箱去执行代码沙箱:只负责接受代码和输入返回编译的结果不负责判题这两个模块完全解耦......
  • 重修设计模式-行为型-责任链模式
    重修设计模式-行为型-责任链模式将请求的发送和接收解耦,让多个接收对象都有机会处理这个请求。将这些接收对象串成一条链,并沿着这条链传递这个请求,直到链上的某个接收对象能够处理它为止。责任链模式(ChainofResponsibilityPattern)也叫职责链模式,通过将请求的处理分配......