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

成都网站设计 常凡云网页版传奇怎么开

成都网站设计 常凡云,网页版传奇怎么开,网站的制作流程有哪些步骤,wordpress手机版受钱吗工厂方法设计模式 🚩什么是生成器设计模式?🚩生成器设计模式的特点🚩生成器设计模式的结构🚩生成器设计模式的优缺点🚩生成器设计模式的Java实现🚩代码总结🚩总结 🚩什么…

工厂方法设计模式

  • 🚩什么是生成器设计模式?
  • 🚩生成器设计模式的特点
  • 🚩生成器设计模式的结构
  • 🚩生成器设计模式的优缺点
  • 🚩生成器设计模式的Java实现
  • 🚩代码总结
  • 🚩总结

🚩什么是生成器设计模式?

生成器模式(Builder Pattern) 是一种 创建型设计模式,用于构建复杂对象,并且能够一步步地构造对象,而无需直接使用构造函数传递大量参数。

在 Java 中,如果一个类有多个可选参数,传统方式是使用 重载构造函数Setter 方法,但这样会导致代码冗长且不易维护。

生成器模式 通过 链式调用方法返回当前对象 的方式,使代码更加清晰易读。

🚩生成器设计模式的特点

  • 支持链式调用:可以连续调用方法来设置属性,使代码更优雅。
  • 构造过程更清晰:将对象的创建步骤封装到生成器中,避免构造函数参数过多的问题。
  • 提高可读性和可维护性:使用生成器模式可以避免复杂的构造函数重载,提高代码可读性。
  • 可以对对象创建过程进行控制:如可以添加 参数校验默认值对象克隆 等操作。

🚩生成器设计模式的结构

生成器模式通常包含以下几个部分:

  • Product(产品类):要构建的复杂对象。
  • Builder(抽象生成器):定义构建对象的步骤。
  • ConcreteBuilder(具体生成器):实现 Builder 接口,并定义如何创建 Product 对象。

🚩生成器设计模式的优缺点

✅ 优点

  • 避免构造方法参数过多的问题,提供更优雅的对象创建方式。
  • 可以设置默认值,构造对象时不必提供所有参数。
  • 可读性强,通过链式调用,使代码更直观。
  • 解耦对象构建和表示,使代码更容易扩展和维护。

❌ 缺点

  • 增加代码复杂度:需要额外定义 Builder 类,代码量比直接使用构造函数多。
  • 对象构造过程比普通方法慢,因为涉及多个方法调用。

🚩生成器设计模式的Java实现

代码地址:GitHub

  • 创建一个产品类Product
/*** @author hanson* @description: 定义产品类* @date 2025-03-23 21:08:03* @version: 1.0*/
public class Product {List<String> parts = new ArrayList<String>();public void Add(String part) {parts.add(part);}public void show() {System.out.println("产品的组成:");for (String part : parts) {System.out.println(part + " ");}System.out.println("\n");}
}
  • 创建一个抽象建造者类,里面有两个抽象方法,用于构建产品和打印结果
/*** @author hanson* @description: 生成器(Builder 类)* @date 2025-03-23 21:10:30* @version: 1.0*/
public abstract class Builder {public abstract void BuildPart();public abstract Product getResult();
}
  • 创建两个构造器不通的实现类,用于构建不同的产品

    • 具体构造器Builder1
    /*** @author hanson* @description: 具体构建者1* @date 2025-03-23 21:17:56* @version: 1.0*/
    public class Builder1 extends Builder{Product product = new Product();@Overridepublic void BuildPart() {product.Add("A");product.Add("B");product.Add("C");product.Add("D");product.Add("E");product.Add("F");}@Overridepublic Product getResult() {return product;}
    }
    
    • 具体构造器Builder2
    /*** @author hanson* @description: 具体构建者2* @date 2025-03-23 21:19:00* @version: 1.0*/
    public class Builder2 extends Builder{Product product = new Product();@Overridepublic void BuildPart() {product.Add("A");product.Add("B");product.Add("C");}@Overridepublic Product getResult() {return product;}
    }
    
  • 创建一个指挥Director用于负责Builder 创建

/*** @author hanson* @description: 指挥者 负责组织 Builder 的构建过程。* @date 2025-03-23 21:16:35* @version: 1.0*/
public class Director {public void Construct(Builder builder){builder.BuildPart();}
}

📌 运行结果

在这里插入图片描述

🚩代码总结

  • Director(指挥者) 负责组织 Builder 的构建过程。
  • Builder(抽象构造者) 规定了 BuildPart()getResult() 方法。
  • Builder1 和 Builder2(具体构造者) 提供不同的 Product 实现方式。
  • Product(产品类) 通过 List<String> 存储构造的部分,并在 show() 方法中打印结果。

🚩总结

  • 生成器模式(Builder Pattern)创建型设计模式,用于构建 复杂对象
  • 分离了对象的创建和表示,提高了 代码可读性可维护性
  • 适用于 多个可选参数 的对象构造,避免构造方法重载的困扰。
  • 在 Java 中,常见于 StringBuilderLombok @BuilderJackson ObjectMapper 等应用。

✅ 适用场景:

  • 需要创建 包含多个参数 的复杂对象。
  • 需要构建 不可变对象
  • 希望提供更清晰的 API,提高代码可读性。

创作不易,不妨点赞、收藏、关注支持一下,各位的支持就是我创作的最大动力❤️

在这里插入图片描述


文章转载自:

http://cmXIA6gh.rpgdd.cn
http://BV7mUcT3.rpgdd.cn
http://CQE5AC4r.rpgdd.cn
http://hmzZfwU9.rpgdd.cn
http://dkkGn569.rpgdd.cn
http://OV9uZbpQ.rpgdd.cn
http://uEsRGSxl.rpgdd.cn
http://dPHzAaHB.rpgdd.cn
http://tJovZtd5.rpgdd.cn
http://5bC5crtU.rpgdd.cn
http://CGgtQYvt.rpgdd.cn
http://7Jn1Y2ZB.rpgdd.cn
http://GzhW4nug.rpgdd.cn
http://J2y9kZ0J.rpgdd.cn
http://X6fhALkU.rpgdd.cn
http://WYie3ytq.rpgdd.cn
http://6F2elaZ7.rpgdd.cn
http://39iLe1Kj.rpgdd.cn
http://KiJnQGs6.rpgdd.cn
http://7HfUPuIE.rpgdd.cn
http://dATplxRx.rpgdd.cn
http://XVoYppTZ.rpgdd.cn
http://LF6N6xlJ.rpgdd.cn
http://7UYgIBby.rpgdd.cn
http://i9rjyIAk.rpgdd.cn
http://pgAdhhEJ.rpgdd.cn
http://ssEji0Wy.rpgdd.cn
http://DE2iTfwA.rpgdd.cn
http://bCO4mQmy.rpgdd.cn
http://6g8dMeMN.rpgdd.cn
http://www.dtcms.com/wzjs/772551.html

相关文章:

  • 点击网络怎么做网站织梦网站标题被改
  • 深圳住房建设厅网站全国私人订制平台
  • 餐饮网站网页设计代码山东建设报网站
  • 电子商务网站硬件建设的核心是宁波seo推广哪家公司好
  • 邹平建设网站微信创建小程序怎么弄
  • 《基层建设》官方网站北京住房与城乡建设网站
  • iis6.0新发布网站访问速度慢知名网站设计欣赏
  • 怎样制作一个自己的网站wordpress基础教程
  • 网站建设需要交印花税吗网络推广这个工作好做吗
  • 重庆正云环保建设网站建站的步骤有哪些
  • 做网站的图片素材司瓦图网站
  • 东营网站建设预算价格会员管理系统小程序
  • 泰安网络网站网店运营流程步骤
  • 宝洁公司网站做的怎么样关于解决网站 建设经费的请示
  • 做家乡网站穷游网站 做行程 封面
  • 重庆建设网站的公司哪家好营销型网站开发营销
  • 北京网站设计与建设青岛seo推广专员
  • 网站一键制作免费建网站软件
  • 成品网站免费网站下载网站建设前景怎么样
  • 网站建立教学旅游网站建设ppt模板
  • 单位网站建设维护论文 番茄视频 在线
  • 网站建设不用虚拟主机wordpress浏览器主题下载
  • 青州网站建设青州江西省住房建设厅网站
  • 外国网站的浏览器下载专门做棋牌广告广告的网站
  • 九江建企业网站手工制作折纸
  • 义乌网站建设与维护wordpress 更换ip
  • 要加强县门户网站的建设管理网页升级维护每天更新
  • 网站制作流程图胶州网站建设案例
  • 重庆市建设银行网站首页四川住房和城乡建设厅网站
  • 建网站的公司时小红书推广