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

伊犁州住房城乡建设局网站梁山专业网站建设

伊犁州住房城乡建设局网站,梁山专业网站建设,免备案的网站首页,用什么软件做网站前端文章目录 简介建造者模式的核心概念产品#xff08;Product#xff09;建造者#xff08;Builder#xff09;指挥者#xff08;Director#xff09;建造者模式与其他设计模式的关系工厂模式和建造者模式uml对比 建造者模式的实现步骤建造者模式的应用场景spring中应用 建… 文章目录 简介建造者模式的核心概念产品Product建造者Builder指挥者Director建造者模式与其他设计模式的关系工厂模式和建造者模式uml对比 建造者模式的实现步骤建造者模式的应用场景spring中应用 建造者模式的优缺点优点缺点 简单总结 简介 在本文中我们将介绍建造者模式的概念、作用和优势并探讨它与其他设计模式的关系。 建造者模式的核心概念 产品Product 产品是由建造者创建的复杂对象它具有多个属性和方法。在建造者模式中产品是建造者的最终结果。 建造者Builder 建造者是负责构建产品的接口。它定义了创建产品的步骤和方法通常包括设置属性和返回最终产品的方法。 指挥者Director 指挥者是负责协调建造者的对象。它指导建造者按照特定的顺序执行构建步骤以生成最终产品。 建造者模式与其他设计模式的关系 建造者模式通常与以下设计模式相关联 抽象工厂模式抽象工厂模式用于创建一系列相互依赖或相互关联的对象而建造者模式用于创建复杂对象。两者的区别在于抽象工厂模式强调一系列产品的创建而建造者模式则侧重于单个复杂对象的创建。工厂模式工厂模式用于根据某些条件创建不同类型的对象而建造者模式则用于创建复杂对象。两者的区别在于工厂模式强调对象类型的选择而建造者模式侧重于对象的组装过程。 工厂模式和建造者模式uml对比 建造者模式的实现步骤 以下是实现建造者模式的步骤 定义产品的属性和方法确保产品具有所需的特性。创建抽象建造者接口其中包含创建产品的方法和设置产品属性的方法。创建具体建造者类实现建造者接口并实现创建产品和设置属性的方法。实现指挥者类它接收一个建造者对象并根据特定的顺序调用建造者的方法来构建产品。编写客户端代码实例化指挥者和具体建造者对象并调用指挥者的构建方法来获取最终产品。 以下是一个示例代码 // 产品类 public class Product {private String attribute1;private String attribute2;// 设置属性的方法public void setAttribute1(String attribute1) {this.attribute1 attribute1;}public void setAttribute2(String attribute2) {this.attribute2 attribute2;}public void Show(){System.out.println(attribute1);System.out.println(attribute2);}// 其他方法... }// 抽象建造者接口 public interface Builder {void buildAttribute1(String attribute1);void buildAttribute2(String attribute2);Product getResult(); }// 具体建造者类 public class ConcreteBuilder implements Builder {private Product product;public ConcreteBuilder() {this.product new Product();}Overridepublic void buildAttribute1(String attribute1) {System.out.println(设置Attribute1);product.setAttribute1(attribute1);}Overridepublic void buildAttribute2(String attribute2) {System.out.println(设置Attribute2);product.setAttribute2(attribute2);}Overridepublic Product getResult() {return product;} }// 指挥者类 public class Director {private Builder builder;public Director(Builder builder) {this.builder builder;}public void construct() {System.out.println(指挥建造开始-----------);builder.buildAttribute1(Value 1);builder.buildAttribute2(Value 2);// 还可以按照特定顺序调用其他建造者方法} }// 客户端代码 public class Client {public static void main(String[] args) {Builder builder new ConcreteBuilder();Director director new Director(builder);director.construct();Product product builder.getResult();product.Show();// 使用产品...} }建造者模式的应用场景 建造者模式常用于以下情况 创建复杂对象其中对象的创建过程较为复杂需要多个步骤和组件参与。对象的构建过程需要独立于其组装方式允许在同一个构建过程中使用不同的建造者来创建不同的表示。希望改变产品的内部表示而不影响产品的整体结构。 spring中应用 在 Spring 框架中建造者模式的应用主要体现在 Bean 的创建和配置过程中。Spring 使用了建造者模式来构建和配置各种类型的 Bean。 具体来说Spring 中的建造者模式主要包括以下几个核心组件 ApplicationContext应用上下文在 Spring 中通常使用 ApplicationContext 来管理和配置 Bean。ApplicationContext 负责创建和管理 Bean并负责处理 Bean 的依赖关系和生命周期等。ApplicationContext 可以通过 XML 配置文件、注解或 Java 代码来配置和创建 Bean。 BeanDefinitionBuilderBeanDefinitionBuilder 是 Spring 提供的一个用于构建 BeanDefinitionBean 定义的建造者类。BeanDefinitionBuilder 提供了一系列的方法用于配置 Bean 的各个属性和依赖关系等。通过链式调用这些方法可以根据需求设置 BeanDefinition 的各个属性。 BeanFactoryBeanFactory 是 Spring 的核心接口之一它负责创建和管理 Bean。在创建 Bean 时通常会使用 BeanFactory 来创建 Bean 实例并将其配置和初始化。 XML 配置文件在 Spring 中可以使用 XML 配置文件来配置和描述 Bean 的信息。XML 配置文件中的 元素通常对应着一个 Bean 对象通过配置元素的属性和子元素可以设置 Bean 的各个属性和依赖关系等。 在使用 Spring 的过程中开发者通常会使用 ApplicationContext 作为主要的建造者角色通过配置和调用它提供的方法来创建和管理各种类型的 Bean。开发者可以使用 BeanDefinitionBuilder 构建 Bean 定义并将其注册到 ApplicationContext 中以实现对 Bean 的自定义配置和构建过程。 总结起来Spring 在 Bean 的创建和配置过程中使用了建造者模式通过 ApplicationContext、BeanDefinitionBuilder、BeanFactory 和 XML 配置文件等组件来实现对 Bean 的构建和配置。使用建造者模式可以简化 Bean 的创建和配置过程提高灵活性和可维护性。 建造者模式的优缺点 优点 分离构建过程和表示使得相同的构建过程可以创建不同的表示。提供灵活的配置选项客户端可以根据需求自由选择建造者和创建的步骤。允许改变产品的内部表示对客户端代码透明。 缺点 增加了代码量建造者模式需要创建具体建造者类、指挥者类等额外的类从而增加了代码量。每个产品的构建过程可能不同因此可能需要创建多个具体建造者类。虽然这些额外的类增加了一定的开销但可以提高代码的可维护性和灵活性。 组装顺序需要开发者控制在建造者模式中开发者需要控制对象构建过程的组装顺序。如果组装顺序不正确可能导致产品组装错误或缺失某些部分。因此开发者需要仔细设计和控制组装顺序增加了设计的复杂性。 简单总结 建造者模式通过将对象的构建过程封装起来使得建造过程和表示分离并提供灵活的配置选项。通过抽象建造者、具体建造者和指挥者的协作客户端可以获得不同的产品表示。然而建造者模式增加了代码量并对构建顺序有一定要求。
http://www.hkea.cn/news/14475829/

相关文章:

  • 网站怎么做竞价dedecms wordpress
  • 个人 邮箱 含网站 域名物流公司网站建设模板
  • 郑州快速排名优化网站wordpress go跳转页面
  • 福州展示网站制作的公司手机地图app下载安装
  • 南昌做网站哪家公司好同城网站开发
  • 网站建设视频教程网北京建设工程信息网上报名基础信息
  • seo网站打开慢郫都区网站建设
  • qq头像网站源码怎么查网站备案号
  • 上海建筑建材业网站迁移led 网站模板
  • 有一套源码做网站还差什么江苏网站建设方案
  • 手机网站自助建网站开发流程有哪些
  • 西安制作手机网站神农架网页设计
  • 做外贸网站维护费是多少开网店卖什么适合新手
  • 网站维护费怎么做分录设计网站的关键点
  • 做芯片哪个网站推广湖南企业建网站
  • 个人微信号做网站行吗襄阳建设网站
  • 网站下载免费软件安装南京高端网站建设公司
  • 凡科免费个人做网站有弊吗做夜夜做网站
  • 自己建设手机网站首页网络热词大全
  • 公司没有自己的网站网站维护中一般要多长时间
  • 廉政建设网站动画制作设计
  • 广西 网站建设wordpress短消息
  • 公司网站百度搜索的描述怎么做怎么做网站赚钱软件
  • 自建网站平台哪个好莱芜信息港房产网
  • 网站建设管理系统免费网站o2o网站开发方案
  • 网站开发维护的好处上海网络营销有限公司
  • 怎样自己建立一个网站烟台网站建设加企汇互联专业
  • 企业建站原因saas系统是什么意思
  • 合肥专业网站制网站开发引发的官司
  • 建设心理网站的背景汕头seo排名收费