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

杭州 网站建设公司石家庄seo顾问

杭州 网站建设公司,石家庄seo顾问,介绍做网站的标题,有什么网站有教师招聘考试题目做Builder模式概述 Builder模式是一种创建型设计模式,通过分步骤构建复杂对象而非一次性创建。它特别适用于需要创建包含多个可选参数的对象场景。 核心思想 将复杂对象的构建与表示分离提供流畅的API接口支持链式调用确保对象创建的一致性和完整性 典型结构 1. …

Builder模式概述

Builder模式是一种创建型设计模式,通过分步骤构建复杂对象而非一次性创建。它特别适用于需要创建包含多个可选参数的对象场景。

核心思想

  • 将复杂对象的构建与表示分离
  • 提供流畅的API接口
  • 支持链式调用
  • 确保对象创建的一致性和完整性

典型结构

1. 产品类(Product)

public class Computer {private String cpu;private String memory;private String storage;private String graphicsCard;// 构造函数、getter和setter方法
}

2. 抽象建造者(Builder)

public abstract class ComputerBuilder {protected Computer computer = new Computer();public abstract void buildCpu();public abstract void buildMemory();public abstract void buildStorage();public abstract void buildGraphicsCard();public Computer getResult() {return computer;}
}

3. 具体建造者(ConcreteBuilder)

public class GamingComputerBuilder extends ComputerBuilder {@Overridepublic void buildCpu() {computer.setCpu("Intel i9-12900K");}@Overridepublic void buildMemory() {computer.setMemory("32GB DDR5");}@Overridepublic void buildStorage() {computer.setStorage("2TB NVMe SSD");}@Overridepublic void buildGraphicsCard() {computer.setGraphicsCard("RTX 4090");}
}

4. 指挥者(Director)

public class ComputerDirector {private ComputerBuilder builder;public void setBuilder(ComputerBuilder builder) {this.builder = builder;}public Computer construct() {builder.buildCpu();builder.buildMemory();builder.buildStorage();builder.buildGraphicsCard();return builder.getResult();}
}

实现方式(链式调用)

现代Java中更常用的链式调用方式:

public class Computer {private String cpu;private String memory;private String storage;private String graphicsCard;private Computer() {} // 私有构造函数public static class Builder {private Computer computer = new Computer();public Builder cpu(String cpu) {computer.cpu = cpu;return this;}public Builder memory(String memory) {computer.memory = memory;return this;}public Builder storage(String storage) {computer.storage = storage;return this;}public Builder graphicsCard(String graphicsCard) {computer.graphicsCard = graphicsCard;return this;}public Computer build() {// 验证逻辑if (computer.cpu == null) {throw new IllegalStateException("CPU is required");}return computer;}}// getter方法public String getCpu() { return cpu; }public String getMemory() { return memory; }public String getStorage() { return storage; }public String getGraphicsCard() { return graphicsCard; }
}

使用示例

// 游戏电脑配置
Computer gamingComputer = new Computer.Builder().cpu("Intel i9-12900K").memory("32GB DDR5").storage("2TB NVMe SSD").graphicsCard("RTX 4090").build();// 办公电脑配置
Computer officeComputer = new Computer.Builder().cpu("Intel i5-12400").memory("16GB DDR4").storage("512GB SSD").build();

Builder模式优势

  • 参数可选性:只需设置必要参数
  • 参数无序性:设置顺序灵活
  • 对象不可变:创建后无法修改
  • 代码可读性:逻辑清晰明了
  • 类型安全性:编译时检查
  • 验证机制:支持构建时参数验证

适用场景

  • 创建包含多个可选参数的复杂对象
  • 需要参数验证的对象构建
  • 不可变对象的创建过程
  • 各类配置对象的构造
  • 需要提供流畅API接口的设计

与其他模式对比

  • Factory模式:处理参数固定的对象创建
  • Builder模式:处理复杂对象的逐步构建
  • Prototype模式:处理对象复制
  • Singleton模式:处理单例创建

Builder模式是Java开发中构建复杂对象的重要工具,特别适合创建包含多个可选参数的对象,是现代Java开发的核心设计模式之一。

下一篇:装饰器模式和建造者模式的使用场景和区别-CSDN博客

http://www.dtcms.com/wzjs/244457.html

相关文章:

  • discuz网站论坛间帖子转移网站备案查询官网
  • 网站制作用什么站长工具seo推广
  • 著名网站设计公司怎么进行推广
  • 国内做外卖的网站有哪些抖音关键词推广
  • 无锡app制作怎样进行seo推广
  • 网站搜索关键词挖掘方法
  • wordpress 设置站点地址网站软文推广范文
  • wordpress 清空草稿电商关键词排名优化怎么做?
  • 网站建设包括哪些内容百度ai助手入口
  • 外贸淘宝网站建设衡阳seo快速排名
  • 外包网站设计公司免费的精准引流软件
  • 网站建设团队技术介绍网络营销的seo是做什么的
  • 网上时时彩网站开发百度指数移动版app
  • wordpress 可爱主题seo具体seo怎么优化
  • 做旅游网站宣传论坛推广网站
  • 淘宝网站内站建设今日头条号官网
  • pc网站优势百度指数的基本功能
  • 公司业绩怎么发到建设厅网站上电脑培训学校网站
  • 如何用织梦仿制网站福州seo视频
  • 石家庄求做网站网络整合营销案例
  • 可以做ppt的网站有哪些内容中国十大公关公司排名
  • 网站开发进度安排文档百度信息流广告平台
  • 网站建设重要平台推广渠道
  • 多语种网站企业建站用什么好
  • 2014做网站如何使用网络营销策略
  • 源代码开发网站河南企业站seo
  • 装修三维效果图软件新乡网站优化公司
  • 鄂州做网站的公司网络推广有多少种方法
  • 常州网站建设哪家好推广引流网站
  • 百度站长链接提交平台2024年4月新冠疫情结束了吗