设计模式4-创建型模式-Prototype模式

意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型对象创建新的对象。

 

原型模式的结构比较简单,在使用C++实现该模式时重点要注意deep copy和shallow copy的问题。
prototype模式在实际使用的过程中,可以通过增加一个原型管理器来实现动态添加原型的机制。
prototype和AbstractFactory的区别主要在于AbstractFactory模式更侧重于一系列或者一些相关对象的创建,
而prototype模式则侧重于通过拷贝的方式创建多个相似的对象。prototype模式可以避免AbstractFactory模式
那种工厂和产品平行的结构。Builder模式则是更侧重于复杂对象的创建过程,对这个对象的创建过程可能会有多种
不同的算法。

创建型模式除了单例模式(单体模式),已经都过了一遍。单例过于简单,所以就不单独写日志了。
这几种创建模式的意图都很明显,就是为了将对象的创建过程从client的代码中独立出来,降低了client代码的复杂度,
代码结构更加清晰,也有利于拓展。在对这几种创建型模式做选择的时候,要根据自己的需求和这几种模式的特点来找到
最佳的模式。
AbstractFacotry:侧重于一些列或一些相关对象的创建。一换全换。工厂和产品的结构平行。
Builder模式:侧重复杂对象的创建,分出了Director和Builder;Director负责创建算法的选择,即创建流程的选择,
而具体的Builder则负责创建具有特点的产品部件,并最终组成产品。
Prototype模式: 要创建的对象基本一致,只有细微差别,或者只分为几类,通过不同的原型进行自我复制完成对象的创建。

 

2014年3月13日 22:06:19 Jarek.Tan

转载于:https://www.cnblogs.com/lstj/p/3599451.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值