5.建造者模式

  1. 建造者模式

    模式定义:先new一个builder建造者(get/set/build在这个类中实现),然后new一个director指导者(在这个类中指定创建顺序),然后在用指导者按照参数进行创建product

    典型应用:

    1. 需要生成的对象具有复杂的内部结构

    2. 需要生成的对象内部属性本身相互依赖

    3. 有不可变对象配合使用

      RequestMappingInfo
      BeanDefinitionBuilder
      

    优点:可以使代码高内聚,product中不用写默认值 1. 建造者独立,易扩展 2.便于控制细节风险

    建造者模式和有参构造函数有什么区别?

    1. 当一个对象创建有参构造时,原有的无参构造会被取代,编译会报The constructor Man() is undefined; 只能新增加无参构造函数

    2. 当有N个参数的时候,且参数必填与非必填不确定因素多的实体,建造者可以更好来处理

      参考:https://www.jianshu.com/p/916c38158b8c/

      建造者模式包含:

      1. 一个实体(Object):要被创建的对象
      2. 一个接口(BuilderInterface):提供建造方法
      3. 一个实现类(BuilderImplement):为各个属性赋值
      4. 一个建造方法(BuilerContract):用来把各个属性组装成需要的实体
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值