当前位置: 首页 > 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/802912/

相关文章:

  • 好用的网站系统乐清外贸网站建设
  • 网站开发和网站维护有区别吗html5 网站模板 米
  • 淘宝客做网站可行么外贸公司取名字大全
  • 培训教育类网站模板商城网站建设明细
  • 网站被惩罚微网站免费制作
  • 免费推广网站大全网南开集团网站建设
  • 网站功能模块结构图西安学校网站建设多少钱
  • 个人网站制作软件网站建设找哪家公司
  • 医药公司网站备案网站开发课程设计总结
  • 东莞网站建设上科qq是哪个工作室开发的
  • 网站开发的经济效益分析美食网站建设策划书
  • 镇江网站制作服务wordpress主题绕过激活码
  • 网站开发维护任职要求网站后台教程
  • 网站建设自我总结做物流网站多少钱
  • 手表网站排行榜做动态图网站
  • 网站引导页案例flash个人音乐网站模板源码
  • 商丘网站制作教程wordpress阅读数
  • 国内知名企业网站网络策划是做什么的
  • 手机终端网站cad协同设计平台
  • 长沙网站设计制作做企业网站建设挣钱吗
  • 可以做申论的网站wordpress会话过期
  • 网站布局模版竞价推广的方案
  • 网站建设的特点2015wordpress漏洞
  • 上海网站设计服务商张家港做网站排名
  • wordpress英文建站alexa网站排名
  • 哪里专业做网站wordpress媒体库注册
  • 织梦怎么做中英文双语网站关于班组建设管理的网站
  • 中国中小企业网站官网网站建设费会计处理
  • 大连市网站推广公司网站可以叫做系统吗
  • 婚恋网站 模板学好网页设计与网站建设的意义