当前位置: 首页 > news >正文

湖北黄石市黄石市建设材料价格信息在哪个网站查询中铁建设集团最新门户网登录

湖北黄石市黄石市建设材料价格信息在哪个网站查询,中铁建设集团最新门户网登录,公司网站ICP注销,怎样做营销型网站推广ppt实体类常见的设计模式 1. Set 链式编程 在实体类中实现链式调用通常是指让 setter 方法返回当前对象实例#xff08;this#xff09;#xff0c;从而允许连续调用多个 setter 方法设置属性值。这种方式可以使代码更加简洁和直观。 例如实体类为#xff1a; public clas…实体类常见的设计模式 1. Set 链式编程 在实体类中实现链式调用通常是指让 setter 方法返回当前对象实例this从而允许连续调用多个 setter 方法设置属性值。这种方式可以使代码更加简洁和直观。 例如实体类为 public class Person {private String name;private int age;public Person setName(String name) {this.name name;return this; // 返回当前实例以支持链式调用}public Person setAge(int age) {this.age age;return this;}Overridepublic String toString() {return Person{name name , age age };} }使用 Person person new Person().setName(John).setAge(30); System.out.println(person);这种方式非常适合那些属性不是很多或者不强制要求所有属性都必须初始化的情况。 可以使用 Accessors(chain true) 注解来自动启用链式调用使用方式在后面。 2. 构建者设计模式 当一个类有很多属性特别是有些是可选的时候使用传统的构造函数或链式 setter 方法可能会导致代码冗长且不易维护。构建者设计模式通过分离对象的构造过程与表示来解决这个问题使得创建复杂对象的过程更加清晰和灵活。 例如实体类为 public class Person {private final String name;private final int age;// 私有构造函数防止直接实例化private Person(Builder builder) {this.name builder.name;this.age builder.age;}public static class Builder {private String name;private int age;public Builder name(String name) {this.name name;return this; // 返回当前 Builder 实例以支持链式调用}public Builder age(int age) {this.age age;return this;}public Person build() {return new Person(this); // 使用 Builder 中的数据创建新的 Person 实例}}Overridepublic String toString() {return Person{name name , age age };} }使用 Person person new Person.Builder().name(John).age(30).build(); System.out.println(person);构建者模式特别适用于需要构建的对象具有许多可选参数的情况。它不仅提高了代码的可读性也避免了构造函数参数列表过长的问题。 可以使用 Builder 注解可以轻松实现构建者模式使用方式在后面。 3. 其它 3.1 两者与 Lombok 一同使用的问题 Lombok 是一个非常流行的 Java 库它通过注解来减少样板代码例如 getter、setter、构造函数等。然而当你在同一个类中同时使用 Lombok 注解与手动实现的 Set 链式编程或构建者设计模式时可能会遇到一些问题或冲突。 Set 链式编程与 Lombok 如果你使用 Lombok 的 Setter 注解并尝试手动实现链式 setter 方法可能会出现以下问题 方法重复不可预期的行为 为了解决这个问题你可以选择不使用 Lombok 的 Setter 注解而是完全手动编写所有需要的 setter 方法或者利用 Lombok 的 Accessors(chain true) 注解来自动启用链式调用。例如 Getter Setter Accessors(chain true) public class Person {private String name;private int age; }构建者设计模式与 Lombok Lombok 提供了对构建者模式的支持通过 Builder 注解可以轻松实现构建者模式避免手动编写复杂的 Builder 类。但是如果同时手动实现构建者模式和使用 Lombok 的 Builder 注解则可能会遇到类似的问题 代码冗余冲突 为了避免这种情况你应该选择一种方式来实现构建者模式。如果你希望利用 Lombok 简化代码可以删除手动编写的 Builder 实现转而使用 Lombok 的 Builder 注解 Getter Builder public class Person {private final String name;private final int age; }总之在结合使用 Lombok 与自定义的 Set 链式编程或构建者设计模式时关键是保持一致性并理解 Lombok 在背后所做的工作。通常情况下推荐充分利用 Lombok 提供的相关注解来简化这些模式的实现除非有特定的需求要求手动控制。这样做不仅可以减少出错的机会还能让代码更加简洁易读。 3.2 又想方便编程、又想使用 Lombok 怎么做 使用 Accessors(chain true) 和其他 Lombok 注解 当你想为你的实体类启用链式 setter 方法同时又希望自动生成 toString、equals 和 hashCode 方法时你可以这样做 Getter Setter Accessors(chain true) ToString EqualsAndHashCode public class Person {private String name;private int age; }在这个例子中Getter 和 Setter 自动生成所有属性的 getter 和 setter 方法Accessors(chain true) 使得 setter 方法支持链式调用。ToString 自动生成 toString 方法而 EqualsAndHashCode 自动生成 equals 和 hashCode 方法。 使用 Builder 和其他 Lombok 注解 如果你想使用构建者模式通过 Builder 注解同时还需要 toString、equals 和 hashCode 方法同样可以直接将这些注解添加到你的类上 Getter // 注意通常与 Builder 一起使用时不需要 Setter除非你确实需要setter方法 Builder ToString EqualsAndHashCode public class Person {private String name;private int age; }这里需要注意的是通常当你使用 Builder 时你可能不会为所有字段提供 setter 方法因为 Builder 模式本身提供了设置属性值的方法。然而如果你确实需要 setter 方法你可以继续使用 Setter 注解。 3.3 总结 虽然使用了 Set 链式编程、构建者设计模式 能更方便快捷的实现一个类但是也产生了与 Lombok 之间的冲突导致不能直接使用类似 Data 等注解生成一些方法但这个问题总的来说是可以忽略的。 毕竟鱼和熊掌不可兼得合适的场景使用合适的方法即可。
http://www.hkea.cn/news/14269543/

相关文章:

  • 厦门市建设执业资格管理中心网站西安城市建设职业学院官方网站
  • 网站制作排序广州建网站的公司 白云区
  • 网站建设与管理教案怎么写dedecms部署两个网站
  • 软件下载网站cms抖 音 免费 下载
  • 东莞南城做网站wordpress上传七牛
  • 创建免费网站的步骤河北专业网站建设
  • 培训机构网站php源码牡丹江市西安区建设局网站
  • 鞍山网站建设工作室如何给网站设置关键词
  • 建设网站服务商嘉兴建设教育网站
  • 织梦网站上传新闻做推广的网站带宽需要多少
  • 新站加快网站收录建设移动门户网站
  • 网站建设代理合同wordpress小工具音乐美化
  • 企业管理系统项目简介怎么写厦门网站排名优化价格
  • 网站构造360的网站怎么做
  • 怎么销售网站建设中国做外贸的网站有哪些内容
  • 昆山做网站价格短网址生成源码下载
  • 建设银行河南省分行网站京津冀协同发展国家战略
  • 北京网站建站推广宁夏政务网站建设标准
  • 怎么建设自己网站外网无法访问衡水网站建设网络公司
  • 网站主机测速为审核资质帮别人做的网站
  • 厦门网站制作软件广州大石附近做网站的公司
  • 佛山网站建设公司有哪些微信公众平台营销
  • 辽宁省建设工程招标协会网站在线设计响应式网站
  • 专业重庆房产网站建设推荐几个没封的正能量网站
  • 长沙做网站 必看 磐石网络wordpress关闭注册激活邮件
  • 珠海门户网站建设公司宝宝身上出现很多小红疹怎么办
  • 金华英文网站建设长沙好的seo外包公司
  • 阿里云自助建站教程qq音乐wordpress
  • 济南建网站公wordpress错位
  • 大汉网站开发wordpress图片搬家