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

网站公司设计上海人才市场档案存放中心

网站公司设计,上海人才市场档案存放中心,室内效果图制作,旅游网站在提高用户体验方面应做哪些工作概念: 建造者模式(Builder Pattern)是一种创建型设计模式,用于将复杂对象的构建过程与其表示分离。它允许您逐步构造一个复杂对象,同时保持灵活性和可读性。 特点: 将对象的构建过程封装在指导者类中&am…

概念

建造者模式(Builder Pattern)是一种创建型设计模式,用于将复杂对象的构建过程与其表示分离。它允许您逐步构造一个复杂对象,同时保持灵活性和可读性。

特点

  1. 将对象的构建过程封装在指导者类中,使得客户端不必知道具体的构建细节。
  2. 允许通过改变指导者或具体建造者之一来改变最终生成的产品。
  3. 可以控制生成过程并根据需要进行定制化配置。

优点

  1. 提供了更好的控制和灵活性,可以根据需求定制化地创建复杂对象。
  2. 将构建代码与表示代码分离,使得相同的构建过程可以创建不同表示形式的对象。
  3. 代码可读性高,易于理解和维护。

缺点

  1. 增加了系统中类的数量,在某些情况下可能会增加开发成本。
  2. 如果产品结构非常简单,则使用该模式可能会显得繁琐。

适用场景

  1. 当需要创建具有复杂内部结构且各个部分之间存在依赖关系的对象时,可以使用该模式。
  2. 当希望通过多个步骤动态地自定义一个对象时,可以使用该模式。

实现方式

在指导者类中控制构建过程,导者类负责控制整个构建过程。它接收一个具体的建造者对象,并使用该建造者对象来逐步构建复杂对象。

实现原理

  1. 指导者类持有一个具体的建造者对象。
  2. 在指导者类中定义一系列方法,用于按照特定顺序调用具体建造者对象的方法来构建复杂对象。
  3. 客户端通过创建指导者对象并将具体的建造者传入,然后调用指导者的构建方法来启动整个构建过程。

实现代码:

// 产品类
class Product {private String part1;private String part2;public void setPart1(String part1) {this.part1 = part1;}public String getPart1(){return this.part1;}public void setPart2(String part2) {this.part2 = part2;}public String getPart2(){return this.part2;}
}// 抽象Builder接口
interface Builder {void buildPart1();void buildPart2();Product getResult();
}// 具体Builder实现
class ConcreteBuilder implements Builder{private Product product;public ConcreteBuilder() {product = new Product();}public void buildPart1() {product.setPart1("part 1");}public void buildPart2() {product.setPart2("part 2");}public Product getResult(){return product;}
}// 指导者类
class Director {private Builder builder;public Director(Builder builder) {this.builder = builder;}public Product construct() {builder.buildPart1();builder.buildPart2();return builder.getResult();}}
// 使用示例
public class Main {public static void main(String[] args) {ConcreteBuilder concreteBuilder = new ConcreteBuilder();Director director = new Director(concreteBuilder);Product product = director.construct();System.out.println(product.getPart1());System.out.println(product.getPart2());}
}

在上述示例中,我们定义了产品类Product作为最终构建的复杂对象。接着,我们定义了抽象的建造者接口Builder,其中包含了构建各个部分的方法和获取最终产品的方法。

具体实现类ConcreteBuilder实现了抽象建造者接口,并提供具体的构建逻辑。指导者类Director持有一个具体的建造者对象,在其构造函数中传入,并通过调用它来控制整个构件过程。

在客户端代码中,我们创建一个具体生成器对象并将其传递给指导者对象。然后调用指导者对象的construct方法启动整个构件过程,并返回最终生成的产品。

存在的问题:

每次增加新类型或结构变化时都需要修改指导着和具体生成器两个角色,这可能会导致代码的脆弱性。

http://www.yayakq.cn/news/631115/

相关文章:

  • h5网站开发流程共享办公室租赁平台
  • 网站运营团队管理宝安网站建设 名匠
  • 阜阳市住房和城乡建设部网站上海有哪些网站设计公司
  • 外贸销售是做什么工作的如何做好网站内容优化
  • 如何解析后用二级域名做网站关于干外贸的一些好的学习网站
  • 中小型网站建设报价软文网站名称
  • 新网网站管理阳泉网站建设费用
  • 某些网站字号设置样式网站建设类论文格式
  • 企业网站建设论文wordpress本地视频教程
  • 沧州青县网站建设国内医院网站开发现状
  • 网络销售是做网站推广网站推广公司官网
  • pc端兼手机端网站模板网站模板超市
  • wordpress 墙关键词优化推广公司
  • 南昌企业建站系统女性pose拍照
  • 网站推广攻略自己做网站要学什么软件
  • 一个网站seo做哪些工作内容手机商城下载安装
  • 网站建设服务方案ppt常州做网站价格
  • 亚马逊网站建设进度计划书设迹官网
  • 成都网站建设 雷怎么在微信公众号上传wordpress
  • 网站建设硬件架构设计wordpress多个函数文件
  • 做公众号必备的网站免费建设网站领地
  • 珠江现代建设 杂志社网站镇江企业网站设计开发价格
  • 做一个手机网站成本营销型网站易网拓
  • 网站推广的基本手段旅游电子商务网站建设背景
  • 网络优化网站 site做网站用html还是jsp
  • 好享购物官方网站购物免费自建手机网站
  • 南阳网站推广公司平安网站建设工作总结
  • 旅游网站开发开题报告石家庄百度提升优化
  • 网站左侧固定广告代码网站滑块验证怎么做
  • dz论坛网站后台设置怎么下学做衣服网站