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

网站建设图片怎么加水印温州网站建设优化

网站建设图片怎么加水印,温州网站建设优化,大数据人工智能培训班,济南网站建设开发公司哪家好在日常的开发工作中#xff0c;我们常常需要创建一些复杂的对象。这些对象可能包含许多不同的属性#xff0c;并且这些属性的初始化过程可能相当复杂。在这种情况下#xff0c;建造者模式是一种非常有用的设计模式#xff0c;因为它允许我们分步骤地创建复杂的对象。 概念和… 在日常的开发工作中我们常常需要创建一些复杂的对象。这些对象可能包含许多不同的属性并且这些属性的初始化过程可能相当复杂。在这种情况下建造者模式是一种非常有用的设计模式因为它允许我们分步骤地创建复杂的对象。 概念和原理 建造者模式Builder Pattern是一种创建型设计模式它用于构建复杂的对象。这种模式通常用于构建具有许多属性的对象并且允许用户通过使用一组流畅的API逐个设置这些属性而不是通过使用大量的构造函数参数去设置。 它的工作原理就是将复杂对象的构建与其表示分离。这说明我们可以使用一个建造者对象来创建和配置一个复杂的对象而不需要了解这个复杂对象的内部工作原理。这样可以使代码更加灵活更容易维护和扩展。 一、代码示例 1.1 普通使用 我们先定义一个“手机”类这个对象有许多属性比如品牌、内存、价格等… 并且每个属性对对象的构建过程都有特定的要求。我们可以使用建造者模式来逐步构建和配置这个对象。 public class Phone {// 品牌private String brand;// 内存private String memory;// 价格private int price;private Phone(Builder builder) {this.brand builder.brand;this.memory builder.memory;this.price builder.price;}public static class Builder {private String brand;private String memory;private int price;public Builder setBrand(String brand) {this.brand brand;return this; // 返回当前对象以便进行链式调用}public Builder setMemory(String memory) {if (memory! null !memory.isEmpty()) { // 验证memory是否有效this.memory memory;} else {throw new IllegalArgumentException(Invalid memory specification);}return this;}public Builder setPrice(int price) {if (price 0) { // 验证price是否有效this.price price;} else {throw new IllegalArgumentException(price must be greater than 0);}return this;}public Phone build() {return new Phone(this);}}// 省略getter和setter方法... }现在我们可以使用建造者模式来创建“手机”对象 Phone phone new Phone.Builder() .setBrand(小米) .setMemory(512G) .setPrice(2999) .build();这样我们就可以通过链式调用的方式逐步设置和构建“电脑”对象并验证每个属性的有效性。此外通过将构建过程封装在建造者类中我们可以更加灵活地改变对象的创建过程而不需要去修改表示的代码。 1.2 使用lombok 这就不得不请出我们java开发的必备神器了哈哈Lombok是一个Java库它可以通过注解自动创建getter、setter、equals、hashCode和toString方法从而减少模板代码的数量。Lombok也可以与建造者模式可以一起使用以进一步简化代码 import lombok.Builder; import lombok.Data; Data Builder public class Phone {private String brand;private String memory;private int price; }我们使用了Lombok的Data注解来自动生成getter、setter等方法。Builder注解告诉Lombok生成一个建造者类该类具有与Phone类相同的属性并提供链式调用的方法来设置这些属性。 然后我们可以和前面一样创建“手机”对象 Phone phone new Phone.Builder() .setBrand(苹果) .setMemory(512G) .setPrice(8999) .build();因为Builder注解会自动为Phone类生成一个名为PhoneBuilder的静态内部类该类具有与原始类相同的属性并且每个属性都有一个返回此构建器的方法。所以这使得我们可以使用链式调用方式来设置属性并构建对象。 二、使用建造者模式的好处 链式调用: 建造者模式允许我们通过链式调用的方式来设置对象的属性这使得代码更加清晰和易于阅读。易于维护: 如果对象具有很多属性并且这些属性的初始化过程很复杂那么使用建造者模式可以使得代码更加模块化更容易理解和维护。分离对象构造和表示: 建造者模式将对象的构造和表示分离开来使得我们可以灵活地改变对象的创建过程而不需要去修改表示的代码。 三、使用注意事项 对于简单的对象使用建造者模式可能会过度复杂化代码所以在决定是否使用建造者模式时需要权衡利弊。需要注意避免在建造者模式中产生不必要的代码重复。比如如果不同的方法需要使用相同的属性那么应该避免在每个方法中都重复创建相同的属性。 四、总结 建造者模式是一种非常有用的设计模式尤其适用于创建具有很多属性的复杂对象。通过链式调用的方式来设置对象的属性使得代码更加清晰和易于阅读。同时将对象的构造和表示分离开来使得我们可以灵活地改变对象的创建过程。然而对于简单的对象使用建造者模式可能会过度复杂化代码因此在使用时需要权衡利弊。总的来说掌握好建造者模式可以让我们的代码更加清晰、易于维护和理解快使用起来吧 ~
http://www.lebaoying.cn/news/40324.html

相关文章:

  • 个人做旅游网站保险做的好的网站有哪些
  • 盐城企业建设网站网站设计美工排版编辑
  • 中国建设银行网站分期通wordpress如何页面静态
  • 重庆专业的网站建设广州网站制作有哪些
  • 沈阳公司网站制作网站开发会用到的框架
  • 网站图片搜索技术哪里可以做天津行业建站
  • 二级域名做非法网站网站建设实训心得
  • 网站建设冫首选金手指wordpress讨论组
  • 合肥寒假兼职工网站建设志诺企业管理咨询有限公司
  • 网站描述案例科技大学全国排名
  • 家具网站建设方案腾讯网站建设方案
  • 合肥做网站优化东莞最新一例阳性
  • nodejs做网站的弊端最成功的网络营销案例
  • 培训学校地址网站建设网站开发实训报告总结2021
  • 如何在网站做电子报重庆营销型网站建设多少钱
  • 网站 linux 服务器深圳建网站的网络公司
  • 谷歌做自己的网站广西翔路建设有限责任公司网站
  • 昆山门户网站网站图片自动下载
  • 企业vi怎么设计北京seo网站管理
  • 网站建设 用什么语言wordpress如何添加自定义字段
  • 制作网站赚钱吗创意网络
  • 网站伪静态好还是静态好wordpress 多媒体尺寸
  • 自己做的网站打不开了简易网址制作
  • 招聘网站费用怎么做分录深圳全网营销网站
  • 三合一网站有必要吗长沙人才市场招聘网最新招聘
  • a3网站建设网站显示已备案
  • 后缀的域名暂无法进行网站备案网站收录提交接口
  • 图片外链生成宁波抖音seo公司
  • 工业设计网站外网广州菜谱制作公司
  • php开发网站建设书籍iis7 网站防盗链