java 与模式 建造者模式 builder

在某些情况下,一个复杂对象会有一些重要的性质,在他们没有恰当的值前,对象不能作为一个完整的产品使用。在某些情况下,一个对象的一些性质必须按照某个顺序赋值才有意义。这些情况使得性质本身的建造涉及到复杂的商业逻辑。建造模式利用一个导演者对象和具体建造者对象一个一个的造出所有的零件,从而建造出完整的产品对象。建造者模式将产品的结构和产品的建造过程对客户端隐藏起来,把对建造过程进行指挥的责任和具体建造者零件的责任分割开来,达到责任划分和封装的目的。

 

结构如下图所示:

对于构建多个产品类的,实现图如下所示:

其关键点就是,封装了复杂对象的建造过程。与抽象工厂类似,但是抽象工厂模式中,每一次工厂对象被调用都会返回一个完整的产品对象,而客户端有可能会决定把这个产品组装成一个更大更复杂的产品,也有可能不会。建造类则不同,它一点一点地建造出一个复杂的产品,而这个产品的组装过程就发生在建造者角色内部。建造者模式的客户端拿到的是一个最后产品。

换言之,抽象工厂模式处在更加具体的尺度上,而建造模式则处在更加宏观的尺度上。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值