设计模式之——生产者模式(Builder)和原型模式(Prototype)

 

在创建型模式里面还有两个就是builder 和 prototype

 

1 生成器模式

生成者模式和工厂模式有点像,都是封装了创建对象的过程,创建出对象,但builder模式强调一步步创建,不同的输入参数,同样的创建过程而创建出不同的对象,在builder里面,对象一般是比较复杂并由很多对象组成的,每一步创建出其中的一部分;另外创建者模式不像工厂模式一样直接返回对象,而是提供一个接口来得到对象。其类关系图如下

其中Director提供一个调用Builder里面各个BuildX的函数,创建出Product对象,但并不直接返回,而是调用Builder类里面的GetProduct函数返回对象。另外,Director虽然调用BuildeX的顺序一样,但是具体的ConcreteBuilder不一样,创建出来的对象是不一样的。

 

 

2  原型模式(prototype)

原型模式其实很简单,那就是提供接口,克隆一个和自己一样的对象。其类关系图如下

其实在C++里面,这个功能可以通过拷贝构造函数或重载赋值运算符来实现

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值