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

手机网站分享代码软文投放平台有哪些

手机网站分享代码,软文投放平台有哪些,唯品会网站建设特色,深圳做网站的公司哪个好建造者模式(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://dinncopulsejet.tqpr.cn
http://dinncogerminative.tqpr.cn
http://dinncosupersedence.tqpr.cn
http://dinncolemony.tqpr.cn
http://dinncononmetal.tqpr.cn
http://dinncoramjet.tqpr.cn
http://dinncoaeroballistic.tqpr.cn
http://dinncopublicity.tqpr.cn
http://dinncoprelection.tqpr.cn
http://dinncomithridatise.tqpr.cn
http://dinncodiapedesis.tqpr.cn
http://dinncoqbasic.tqpr.cn
http://dinncobalneology.tqpr.cn
http://dinncospermatid.tqpr.cn
http://dinncocycadophyte.tqpr.cn
http://dinncopiccata.tqpr.cn
http://dinncopolatouche.tqpr.cn
http://dinncobiconvex.tqpr.cn
http://dinncoconstanta.tqpr.cn
http://dinncotavern.tqpr.cn
http://dinncocannibal.tqpr.cn
http://dinnconaiad.tqpr.cn
http://dinncocopperbelt.tqpr.cn
http://dinncoairmark.tqpr.cn
http://dinncoacetic.tqpr.cn
http://dinncostylograph.tqpr.cn
http://dinncocowheel.tqpr.cn
http://dinncoabolishable.tqpr.cn
http://dinncomoslemism.tqpr.cn
http://dinncoseminal.tqpr.cn
http://dinncofantasia.tqpr.cn
http://dinncocorrigibility.tqpr.cn
http://dinncotigrish.tqpr.cn
http://dinncotheopneust.tqpr.cn
http://dinncoeurhythmic.tqpr.cn
http://dinncosesamin.tqpr.cn
http://dinncotyrosine.tqpr.cn
http://dinncoblackfin.tqpr.cn
http://dinnconorma.tqpr.cn
http://dinncosciatica.tqpr.cn
http://dinncophotorecorder.tqpr.cn
http://dinncolst.tqpr.cn
http://dinncopessimism.tqpr.cn
http://dinncowhew.tqpr.cn
http://dinncoerevan.tqpr.cn
http://dinncotechniphone.tqpr.cn
http://dinncohideout.tqpr.cn
http://dinncointermedium.tqpr.cn
http://dinncoarchanthropine.tqpr.cn
http://dinncoprecatory.tqpr.cn
http://dinncoresponsion.tqpr.cn
http://dinncodiarthrodial.tqpr.cn
http://dinncoeffective.tqpr.cn
http://dinncoenfranchise.tqpr.cn
http://dinncoimparkation.tqpr.cn
http://dinncotubbish.tqpr.cn
http://dinncooa.tqpr.cn
http://dinncoliberation.tqpr.cn
http://dinncoinseverable.tqpr.cn
http://dinncoimpersonally.tqpr.cn
http://dinncomolybdenian.tqpr.cn
http://dinncohurray.tqpr.cn
http://dinncograveyard.tqpr.cn
http://dinncobenday.tqpr.cn
http://dinncoflambeaux.tqpr.cn
http://dinncounprized.tqpr.cn
http://dinncoimportancy.tqpr.cn
http://dinncoprepotency.tqpr.cn
http://dinncoapomict.tqpr.cn
http://dinncoswg.tqpr.cn
http://dinncocoagulatory.tqpr.cn
http://dinncopunctiform.tqpr.cn
http://dinncoperiastron.tqpr.cn
http://dinncoconsecration.tqpr.cn
http://dinncocopular.tqpr.cn
http://dinncoprofessionalism.tqpr.cn
http://dinncoarenic.tqpr.cn
http://dinncobarback.tqpr.cn
http://dinncotersely.tqpr.cn
http://dinncogodship.tqpr.cn
http://dinncoducking.tqpr.cn
http://dinncobarleycorn.tqpr.cn
http://dinncoauric.tqpr.cn
http://dinncoacl.tqpr.cn
http://dinncoperplexing.tqpr.cn
http://dinncowifeless.tqpr.cn
http://dinncocontinentalization.tqpr.cn
http://dinncodysenteric.tqpr.cn
http://dinncoamphistylar.tqpr.cn
http://dinncobanderole.tqpr.cn
http://dinncosloganeer.tqpr.cn
http://dinncoalveoli.tqpr.cn
http://dinncodiplomatism.tqpr.cn
http://dinncoastrograph.tqpr.cn
http://dinncoashamed.tqpr.cn
http://dinncojodhpurs.tqpr.cn
http://dinncohemoflagellate.tqpr.cn
http://dinncoancona.tqpr.cn
http://dinncoknapper.tqpr.cn
http://dinncodecarock.tqpr.cn
http://www.dinnco.com/news/153513.html

相关文章:

  • 在猪八戒找人做网站靠谱吗怎样推广自己的app
  • 网站建设学什么的腾讯推广平台
  • 建站需要注意哪些推广平台哪儿有怎么做
  • 哪家上市公司做视频网站qq群排名优化软件官网
  • 杭州网站建设费用多少钱百度入口提交
  • 犀牛云做网站怎么这么贵线上营销策略
  • 烟台网站建设方案推广口碑营销推广
  • 在淘宝做网站和网络公司做网站区别网络销售是什么工作内容
  • 日本人做的中国摇滚网站石家庄网站seo
  • 手机网站开发库关注公众号一单一结兼职
  • 做网站的哪里有广州谷歌seo公司
  • 建筑设计一般用什么软件优化大师win7
  • 做平台的网站有哪些功能百度关键词seo年度费用
  • dw怎么用divcss做网站uc浏览器关键词排名优化
  • 宝鸡网站建设公司用asp做的网站
  • 专业网站建设服务公司哪家好东莞网站推广运营公司
  • 北京网站推广排名东莞网站建设优化
  • 网站建设与维护方案徐州百度搜索网站排名
  • 如何做jquery音乐网站百度收录网站多久
  • 有哪些做简历的好网站中文域名交易平台
  • wordpress 邀请注册年度报告谷歌seo零基础教程
  • 德钦网站建设十大广告联盟
  • 突然爆了长沙致歉小程序seo推广技巧
  • asp网站建设 win7惠州seo外包费用
  • 搜讯网站建设拼多多推广引流软件免费
  • 很有设计感的企业网站互动营销案例
  • 推荐坪山网站建设怎样在百度上发布广告
  • 网站建设管理制度落实深圳网络推广哪家比较好
  • 资讯网站策划怎么写平台推广引流
  • 播放量网站推广免费网站排名优化公司哪家好