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

优质网站的衡量标准微信小程序在哪里找?

优质网站的衡量标准,微信小程序在哪里找?,免费网络电视直播在线观看,网页设计模板网站图片文章目录 一、介绍二、代码三、实际使用总结 一、介绍 建造者模式旨在将一个复杂对象的构建过程和其表示分离#xff0c;以便同样的构建过程可以创建不同的表示。这种模式适用于构建对象的算法#xff08;构建过程#xff09;应该独立于对象的组成部分以及它们的装配方式的… 文章目录 一、介绍二、代码三、实际使用总结 一、介绍 建造者模式旨在将一个复杂对象的构建过程和其表示分离以便同样的构建过程可以创建不同的表示。这种模式适用于构建对象的算法构建过程应该独立于对象的组成部分以及它们的装配方式的情景。 建造者模式通常包含以下角色 产品Product 表示被构建的复杂对象。在建造者模式中产品是由多个部件组成的。 抽象建造者Builder 声明了创建产品各个部件的抽象接口。通常包括创建和装配部件的方法。 具体建造者Concrete Builder 实现抽象建造者接口负责具体部件的创建和装配。每个具体建造者都定义了自己的方式来构建产品。 指导者Director 负责使用建造者接口来构建产品对象。通常包含一个构建方法该方法定义了构建产品的顺序。 二、代码 结构图 代码 /*** 产品类由多个部件构成*/ public class Product {private ListString parts new ArrayList();public void add(String part) {parts.add(part);}public void show(){System.out.println(产品部件 ---);for (String part : parts) {System.out.print(part );}} }/*** 抽象建造者类确定产品由两个部件构成并声明一个得到产品的方法*/ abstract class Builder{public abstract void buildPartA();public abstract void buildPartB();public abstract Product getResult(); }class Builder1 extends Builder {private Product product new Product();Overridepublic void buildPartA() {product.add(部件a);}Overridepublic void buildPartB() {product.add(部件b);}Overridepublic Product getResult() {return product;} }class Builder2 extends Builder {private Product product new Product();Overridepublic void buildPartA() {product.add(部件x);}Overridepublic void buildPartB() {product.add(部件y);}Overridepublic Product getResult() {return product;} }/*** 指挥者类用来指挥构建过程*/ class Director {public Product Construct(Builder builder) {builder.buildPartA();builder.buildPartB();return builder.getResult();} }public static void main(String[] args) {Director director new Director();Builder1 builder1 new Builder1();Builder2 builder2 new Builder2();Product result1 director.Construct(builder1);result1.show();Product result2 director.Construct(builder2);result2.show(); }三、实际使用 场景 假设我们要创建一个汽车对象汽车有多个可选的配置包括引擎类型、车身颜色、轮胎类型等。我们将使用建造者模式来实现汽车对象的配置灵活性。 代码 // 产品类汽车 class Car {private String engineType;private String bodyColor;private String tireType;// 构造方法私有化只能通过建造者来构建对象private Car() {}public String getEngineType() {return engineType;}public String getBodyColor() {return bodyColor;}public String getTireType() {return tireType;}// 静态内部类作为具体建造者public static class Builder {private Car car;public Builder() {this.car new Car();}public Builder setEngineType(String engineType) {car.engineType engineType;return this;}public Builder setBodyColor(String bodyColor) {car.bodyColor bodyColor;return this;}public Builder setTireType(String tireType) {car.tireType tireType;return this;}// 构建汽车对象public Car build() {return car;}} }// 客户端 public class BuilderPatternFlexibilityExample {public static void main(String[] args) {// 使用建造者模式构建汽车对象并灵活配置Car car1 new Car.Builder().setEngineType(V8).setBodyColor(Red).setTireType(Summer).build();Car car2 new Car.Builder().setEngineType(Hybrid).setBodyColor(Blue).build();// 输出构建好的汽车对象System.out.println(Car 1 - Engine Type: car1.getEngineType() , Body Color: car1.getBodyColor() , Tire Type: car1.getTireType());System.out.println(Car 2 - Engine Type: car2.getEngineType() , Body Color: car2.getBodyColor() , Tire Type: car2.getTireType());} } 上面的例子中Car 是产品类Car.Builder 是具体建造者。通过具体建造者我们可以设置汽车的各个可选配置最后通过 build 方法得到一个完整的汽车对象。客户端可以根据实际需求来选择设置不同的配置实现了对象配置的灵活性。这种方式可以避免创建多个构造函数以应对各种配置组合的情况使得代码更加简洁和可维护。 总结 上面的代码中我们通过不同的具体建造者同一个指挥者获得了不一样的产品。在我们平时的情况中以下的场景可以用到建造者模式 创建复杂对象 当一个对象的构建过程比较复杂涉及多个步骤、部件组合或配置选项时建造者模式可以将构建过程与最终表示分离使得代码更清晰、可维护。 对象的配置灵活性 当需要创建的对象具有多个配置选项而客户端希望能够以不同的方式组装对象时建造者模式可以提供更灵活的配置选择而无需创建大量的构造函数。 避免构造器参数过多 当一个对象的构造函数参数过多而且可能存在多个可选参数时使用建造者模式可以避免创建过多的构造函数使得代码更加清晰。
http://www.hkea.cn/news/14481362/

相关文章:

  • 网页设计制作音乐网站番禺网站建设公司有哪些
  • 淘宝有做钓鱼网站的吗后端低代码平台
  • vs网站怎么做wordpress 页面连接
  • 网站建设市场调查报告网站建设必学课程
  • 文章发布在哪个平台好名风seo软件
  • 广州哪个公司做网站wordpress支付插件绿色
  • 临沂网站制作定制智慧团建登录
  • 镇江网站制作公司全国装修公司前50强
  • 什么是建设网站问答类网站开发
  • 怎样做婚庆网站深圳注册公司注册资金要求
  • 网站浏览成交指标企业微信平台
  • 福田网站建设福田网站设计网络服务示范区创建情况
  • 北京网站设计联系电话中国广告公司前十强
  • 海洋网络网站建设图片在线制作表情
  • seo比较好的网站在凡客建站中建设网站方法
  • 工信部网站域名查询wordpress图片太多
  • 一个月做网站上海元山建设有限公司网站
  • 手机网站是用什么开发的网站生成手机版
  • 做网站一般都用什么字体线下销售怎么做推广
  • 建设信用卡网站登录如何制作纯静态网站
  • 摄影网站投稿石家庄新闻综合频道官网
  • 创建一个网站流程图3d效果图制作教程
  • 公司网站 用 个人备案域名上海市网站建设
  • 怎样给网站做图标seo待遇
  • 门户网站建设和运行保证的磋商文件肇庆建设网站
  • 深圳做网站开发费用长沙做网站优化的公司
  • dw做网站一般是多大的尺寸微网站 .net
  • 外国人做那个视频网站吗制作安卓app的软件
  • 淮南网站优化网站商品展示页怎么做的
  • 襄阳南漳县城乡建设局网站适合网站开发的框架