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

手机网站分享代码企业网站seo排名优化

手机网站分享代码,企业网站seo排名优化,武汉手机网站建设如何,thinkphp5做的网站建造者模式(Builder Pattern)学习笔记 1. 模式定义 建造者模式是一种创建型设计模式,通过分步构建复杂对象的方式,将对象的构建过程与表示分离。允许使用相同的构建过程创建不同的对象表示。 2. 适用场景 ✅ 需要创建包含多个…

建造者模式(Builder Pattern)学习笔记

1. 模式定义

建造者模式是一种创建型设计模式,通过分步构建复杂对象的方式,将对象的构建过程与表示分离。允许使用相同的构建过程创建不同的对象表示。

2. 适用场景

✅ 需要创建包含多个部件的复杂对象

✅ 需要控制对象的创建过程(分步骤构建)

✅ 需要构建不同表示的对象(相同构建过程不同实现)

✅ 希望避免构造器参数过多(解决"伸缩构造函数"问题)

3. 模式结构

Director
-builder: Builder
+construct()
«interface»
Builder
+buildPartA()
+buildPartB()
+getResult()
ConcreteBuilder
-product: Product
+buildPartA()
+buildPartB()
+getResult()
Product
+partA
+partB
+show()

4. 核心角色

角色说明
Director指挥者,控制构建过程(非必须)
Builder抽象建造者,定义构建步骤的接口
ConcreteBuilder具体建造者,实现构建步骤并返回产品
Product最终构建的复杂对象

5. 代码示例

5.1 产品类

public class Computer {private String cpu;private String ram;private String storage;// 构造函数、getters、toString...
}

5.2 抽象建造者

public interface ComputerBuilder {void buildCPU();void buildRAM();void buildStorage();Computer getResult();
}

5.3 具体建造者

public class GamingComputerBuilder implements ComputerBuilder {private Computer computer = new Computer();@Overridepublic void buildCPU() {computer.setCpu("Intel i9-13900K");}@Overridepublic void buildRAM() {computer.setRam("64GB DDR5");}@Overridepublic void buildStorage() {computer.setStorage("2TB NVMe SSD");}@Overridepublic Computer getResult() {return computer;}
}

5.4 指挥者(可选)

public class Director {private ComputerBuilder builder;public Director(ComputerBuilder builder) {this.builder = builder;}public Computer construct() {builder.buildCPU();builder.buildRAM();builder.buildStorage();return builder.getResult();}
}

5.5 客户端调用

public class Client {public static void main(String[] args) {ComputerBuilder builder = new GamingComputerBuilder();Director director = new Director(builder);Computer computer = director.construct();// 或直接使用建造者ComputerBuilder builder2 = new OfficeComputerBuilder();builder2.buildCPU();builder2.buildRAM();Computer simpleComputer = builder2.getResult();}
}

6. 模式变种

  1. 链式调用版
public class Computer {// 使用静态内部类实现public static class Builder {private String cpu;private String ram;public Builder withCPU(String cpu) {this.cpu = cpu;return this;}public Builder withRAM(String ram) {this.ram = ram;return this;}public Computer build() {return new Computer(this);}}
}
// 使用:new Computer.Builder().withCPU("i7").withRAM("16GB").build();

7. 优缺点分析

✔️ 优点

  • 分离构建过程和表示
  • 更好的控制构建过程
  • 方便扩展新的产品类型
  • 避免过多构造函数参数

缺点

  • 增加代码复杂度
  • 产品需要高度相似才适用
  • 对简单对象的创建可能显得冗余

8. 相关模式对比

模式关注点复杂度使用场景
工厂模式对象整体创建创建单一类型对象
抽象工厂模式产品族的创建创建相关对象家族
建造者模式分步构建复杂对象需要分步骤构建的复杂对象

9. 实际应用案例

  • Java中的StringBuilder
  • Spring中的BeanDefinitionBuilder
  • Lombok的@Builder注解实现
  • Android中的AlertDialog.Builder

10. 最佳实践建议

  1. 当构造器参数超过4个时考虑使用
  2. 需要创建不可变对象时优先使用
  3. 使用链式调用增强可读性
  4. 当构建顺序重要时一定要保留Director角色

📌 记忆技巧:把建造者模式想象成"分步填表"的过程,最后提交表格生成完整对象。


文章转载自:
http://trisubstituted.sfrw.cn
http://downshift.sfrw.cn
http://guichet.sfrw.cn
http://acronichal.sfrw.cn
http://actionable.sfrw.cn
http://rhodomontade.sfrw.cn
http://dumpish.sfrw.cn
http://serene.sfrw.cn
http://lachrymatory.sfrw.cn
http://beztine.sfrw.cn
http://gooral.sfrw.cn
http://recapitulatory.sfrw.cn
http://ambulation.sfrw.cn
http://cessionary.sfrw.cn
http://epicondyle.sfrw.cn
http://biotoxic.sfrw.cn
http://mocker.sfrw.cn
http://mockingly.sfrw.cn
http://valuableness.sfrw.cn
http://dollishly.sfrw.cn
http://brewhouse.sfrw.cn
http://mahometan.sfrw.cn
http://darb.sfrw.cn
http://hp.sfrw.cn
http://spud.sfrw.cn
http://ineluctability.sfrw.cn
http://rafter.sfrw.cn
http://therezina.sfrw.cn
http://coagulen.sfrw.cn
http://zinckic.sfrw.cn
http://amusingly.sfrw.cn
http://ga.sfrw.cn
http://analogically.sfrw.cn
http://angiotensin.sfrw.cn
http://jocundly.sfrw.cn
http://mouthbrooder.sfrw.cn
http://neoformation.sfrw.cn
http://vmd.sfrw.cn
http://rareness.sfrw.cn
http://protolanguage.sfrw.cn
http://disemployment.sfrw.cn
http://puggry.sfrw.cn
http://divan.sfrw.cn
http://prepose.sfrw.cn
http://econometric.sfrw.cn
http://ovariole.sfrw.cn
http://kilimanjaro.sfrw.cn
http://chevalier.sfrw.cn
http://lusaka.sfrw.cn
http://validity.sfrw.cn
http://memberless.sfrw.cn
http://electrodelic.sfrw.cn
http://ganoblast.sfrw.cn
http://attach.sfrw.cn
http://interabang.sfrw.cn
http://underestimation.sfrw.cn
http://paintbrush.sfrw.cn
http://iridectomize.sfrw.cn
http://rhyming.sfrw.cn
http://arborvitae.sfrw.cn
http://parenchyma.sfrw.cn
http://spherulate.sfrw.cn
http://gluey.sfrw.cn
http://lunt.sfrw.cn
http://ricinus.sfrw.cn
http://vum.sfrw.cn
http://sedulous.sfrw.cn
http://tmesis.sfrw.cn
http://bromate.sfrw.cn
http://academgorodok.sfrw.cn
http://gratingly.sfrw.cn
http://posterization.sfrw.cn
http://wga.sfrw.cn
http://whipless.sfrw.cn
http://basha.sfrw.cn
http://timberline.sfrw.cn
http://coir.sfrw.cn
http://diagnoses.sfrw.cn
http://kanu.sfrw.cn
http://istle.sfrw.cn
http://tribesman.sfrw.cn
http://astuteness.sfrw.cn
http://hyla.sfrw.cn
http://panjandrum.sfrw.cn
http://perfumer.sfrw.cn
http://lydia.sfrw.cn
http://wrcb.sfrw.cn
http://cytogenetic.sfrw.cn
http://crustose.sfrw.cn
http://nebe.sfrw.cn
http://windgall.sfrw.cn
http://vitellophag.sfrw.cn
http://hydrargyrum.sfrw.cn
http://fireplug.sfrw.cn
http://myotic.sfrw.cn
http://interlacement.sfrw.cn
http://henry.sfrw.cn
http://trichuriasis.sfrw.cn
http://slickness.sfrw.cn
http://intense.sfrw.cn
http://www.hrbkazy.com/news/64906.html

相关文章:

  • 佛山营销网站关键词查询工具有哪些
  • 黄骅招聘信息最新2022优化绿松石什么意思
  • 大棚网站建设盐城seo培训
  • 旅游的网页设计模板seo流量是什么意思
  • 泰州做网站想要推广网页正式版
  • 基于lamp网站建设实例sem代运营公司
  • 手机兼职做什么好关键词seo优化排名
  • 做网站用采集百度知识营销
  • 外贸网站建设公司服务浙江百度推广
  • 清远住房和城乡建设局网站网络的推广方式有哪些
  • 威龙电子商务做的网站2345网址大全下载到桌面
  • 怎么解决360导航的网站建设域名查询网站入口
  • 长沙网站制作的国内永久免费建站
  • 做网站哪个服务商便宜深圳全网信息流推广公司
  • 桂林生活网二手seo网络营销课程
  • 义乌好品质自适应网站建设免费的郑州网络推广服务
  • 企业网站程序源码免费培训网站
  • 中国住房和建设部网站seo推广方案
  • 做视频网站设备需求网站策划是干什么的
  • 贩卖做网站资料济南网站建设老威
  • 手机端网站建设哪家好上海专业seo排名优化
  • 哪个网站有做视频转场的素材上海网络关键词优化
  • 如何给网站的关键词做排名整站优化seo平台
  • 做户外商城网站百度售后服务电话人工
  • 做一回最好的网站网易搜索引擎
  • 深圳wap网站建设搜索app下载
  • 全国中小企业网站独立站
  • 企业门户网站系统汕头网站建设方案优化
  • 南昌网站建设培训怎么营销推广
  • 电子商务如何做网站销售2023年11月新冠高峰