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

网站建设需要做些什么十大流量平台

网站建设需要做些什么,十大流量平台,山东济宁做网站的公司,南昌网站建设赣icp南昌Java建造者模式:创建复杂对象的灵活构建者 在软件开发中,我们经常遇到需要创建一个复杂对象的情况。如果使用传统的构造函数进行对象创建,可能会导致构造函数参数过多,难以管理和维护。建造者模式(Builder Pattern&am…

Java建造者模式:创建复杂对象的灵活构建者

在软件开发中,我们经常遇到需要创建一个复杂对象的情况。如果使用传统的构造函数进行对象创建,可能会导致构造函数参数过多,难以管理和维护。建造者模式(Builder  Pattern)通过引入建造者对象来逐步构建复杂对象,使得对象的构建过程更加灵活、可控,同时还能提供更好的代码可读性和维护性。

一、原理

建造者模式的核心思想是将一个复杂对象的构建过程它的表示分离,使得同样的构建过程可以创建不同的表示。具体来说,建造者模式通过将对象的构建过程委派给不同的建造者类,每个建造者类都负责创建对象的一部分,并最终将这些部分组装成完整的对象。

它由四个主要的角色组成:产品类(Product)抽象建造者类(Builder)具体建造者类(ConcreteBuilder)指导者类(Director)

  • 产品类(Product):表示最终构建的对象。该类具有一些属性,可以通过设置相应的setter方法进行赋值,并且定义了一个展示产品的方法。
  • 抽象建造者类(Builder):定义了产品构建的抽象方法。包括构建不同部分的方法和获取最终产品的方法,由具体建造者类来实现。
  • 具体建造者类(ConcreteBuilder):继承自抽象建造者类,实现了具体的构建过程。包括构建不同部分和获取最终产品的方法。
  • 指导者类(Director):负责使用具体的建造者类来构建产品。通过调用具体建造者的方法来完成产品的构造,并最终返回一个完整的产品对象。

产品类

public class Product {private String partA;private String partB;private String partC;public void setPartA(String partA) {this.partA = partA;}public void setPartB(String partB) {this.partB = partB;}public void setPartC(String partC) {this.partC = partC;}public void show() {System.out.println("Product: " + partA + ", " + partB + ", " + partC);}
}

抽象建造者类

public abstract class Builder {public abstract void buildPartA();public abstract void buildPartB();public abstract void buildPartC();public abstract Product buildProduct();
}

具体建造者类

public class ConcreteBuilder extends Builder {private Product product = new Product();@Overridepublic void buildPartA() {product.setPartA("生产线1>>>-------->产品A");}@Overridepublic void buildPartB() {product.setPartB("生产线1>>>-------->产品B");}@Overridepublic void buildPartC() {product.setPartC("生产线1>>>-------->产品C");}@Overridepublic Product buildProduct() {return product;}
}

指导者类

public class Director {public Builder construct(Builder builder) {builder.buildPartA();builder.buildPartB();builder.buildPartC();return builder;}
}

测试

public class Client {public static void main(String[] args) {// 指导者Director director = new Director();// 生产线1Builder construct = director.construct(new ConcreteBuilder());Product product = construct.buildProduct();// 显示生产了什么产品product.show();}
}

运行结果如下:

 观察代码,可以发现建造者模式的流程如下:

  1. 第一步,创建指导者(Director)对象具体建造者(ConcreteBuilder)对象来开始构建创建过程。
  2. 第二步,指导者(Director)对象根据具体的建造者类完成建造过程,调用具体建造者的方法来构建产品的各个部分。也就是其方法中的builder.buildPartA();  builder.buildPartB(); builder.buildPartC();
  3. 建造者将构建好的部分返回给指导者。
  4. 指导者最终返回一个完整的产品对象,供客户端使用。

也就说,Product这个类属性的创建,不由它自身来控制,而是由具体的指导者(Director)对象来控制

那这样感觉把一个对象的创建变得复杂化了,为什么这么做呢? 这么做有什么好处和坏处呢??

优点:

  • 可以将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示

  • 通过增加新的具体建造者类,可以轻松扩展和改变产品的建造过程,符合开闭原则。

  • 使用建造者模式可以隐藏产品的内部细节,对客户端来说只关心如何创建对象,而不需要关心具体的构建过程。

缺点:

  • 增加了类的数量,增加了代码的复杂性

  • 对于简单的对象,使用建造者模式可能会显得繁琐。如果一个对象就那么几个字段,且其字段的使用场景比较固定,再用建造者模式就很繁琐了,还不够费劲的呢...

适用场景

  • 需要创建的对象具有复杂的内部结构,创建过程需要多个步骤。

  • 需要创建的对象的属性之间有一定的依赖关系。

  • 需要创建的对象的表示有多种方式,可以通过建造者模式灵活配置建造过程,得到不同的表示结果。

总结

建造者模式通过将对象的构建过程与表示分离,使得同样的构建过程可以创建不同的表示。它可以帮助我们创建复杂的对象,并保证对象的构建过程可配置和可扩展。在实际应用中,建造者模式具有较高的灵活性和可扩展性

http://www.hengruixuexiao.com/news/54255.html

相关文章:

  • 注册网站建设公司旅游推广赚佣金哪个平台好
  • sever2012 网站建设南宁seo收费
  • wordpress浮动图盐城seo营销
  • 社交网站开发项目计划报告厦门网站综合优化贵吗
  • wordpress清理插件贵港seo关键词整站优化
  • 网站欢迎页模板本地推广最有效的方法
  • 可靠的广州做网站种子搜索在线 引擎
  • 做蛋糕的网站在线培训系统
  • 网站建设的pest分析长尾关键词挖掘工具
  • 建设网站用什么好百度seo公司一路火
  • 美国二手表网站桂林网站设计
  • 贵阳网站开发制作公司低价刷粉网站推广
  • 运城手机网站建设网站优化怎么操作
  • 做网站的商标是哪类最佳bt磁力搜索引擎
  • 华久网站建设附近哪里有计算机培训班
  • 南昌网站排名小说排行榜百度搜索风云榜
  • 微信二维码制作网站学it什么培训机构好
  • 毕业设计做网站怎么做网站seo优化有哪些方面
  • 建材建设行业网站营销网络的建设怎么写
  • 企业如何建立网站好用的网站推荐
  • 网站公安备案需要几个工作日成都网站seo技术
  • 广告优化师发展前景广州关键词seo
  • 大坪网站建设seo服务外包报价
  • 哪些网站做的美剧百度搜图
  • 电子商务网站管理内容app推广怎么联系一手代理
  • 科技公司网站设计公司2021最近比较火的营销事件
  • 设计做兼职最好的网站查域名ip地址查询
  • cms网站开发毕设个人网站设计方案
  • 青岛路桥建设集团有限公司网站实时热点新闻事件
  • 做网站建设推广好做吗网站关键词快速排名工具