设计模式 -- 建造者模式

前言

月是一轮明镜,晶莹剔透,代表着一张白纸(啥也不懂)

央是一片海洋,海乃百川,代表着一块海绵(吸纳万物)

泽是一柄利剑,千锤百炼,代表着千百锤炼(输入输出)

月央泽,学习的一种过程,从白纸->吸收各种知识->不断输入输出变成自己的内容

希望大家一起坚持这个过程,也同样希望大家最终都能从零到零,把知识从薄变厚,再由厚变薄!

一、什么是建造者模式?

        建造者模式是一种创建型设计模式,它允许您将复杂对象的构建步骤分离,从而让使用者更好的控制它们的创建过程.

二、建造者模式的优缺点:

优点:

  1. 可以将一个复杂对象的构造过程与其表示分离,使得构造过程和表示可以独立地变化。
  2. 可以使得代码更加清晰,易于理解和维护。
  3. 可以使得对象的构造过程更加灵活,可以根据需要动态地改变构造过程。
  4. 可以避免在构造过程中出现重复的代码,提高代码的重用性。

缺点:

  1. 建造者模式增加了代码的复杂性,需要创建多个类和接口,增加了代码的维护难度。

  2. 在建造者模式中,每个具体的建造者必须实现相同的接口,这可能会导致代码冗余。

  3. 建造者模式需要创建多个对象,这可能会导致性能问题。

  4. 建造者模式可能会导致过度的设计,增加了代码的复杂性和维护难度

三、建造者模式的结构:

 

 抽象建造者(MarriageBuilder):包含创建产品各个子部件的抽象方法接口

具体建造者(ManBuilder和WomanBuilder):实现builde,完成复杂产品各个部件的具体创建方法

产品(Marry):包含多个组成部件的复杂对象

指挥者(Mom):调用建造者对讲中的部件构造与装配方法完成复杂对象的创建

四、建造者模式实战:

        以上结构图为例,现在的年轻人都面临着结婚现状,小明跟小美说,想先买车,在买房,然后结婚,但小美说她要先买房,在结婚,之后在买房.在两人纠缠不休之际,妈妈说我来安排

1.创建产品Marry:

 

2.创建抽象建造者 MarriageBuilder

 

 

 3.创建具体建造者

 

 

 4.创建指挥者Mon

 5.测试

6.结果

 

  所以到底要听谁的指挥呢.... 

五.总结:

        建造者模式,我想大家都用的挺多的StringBuilder啥的,因此大家也可以仔细思考下,自己的业务场景里面是否有同样的适用场景.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值