zoukankan      html  css  js  c++  java
  • 设计模式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

    Keep Practising as Kobe does!
  • 相关阅读:
    (8)FastDFS
    (7)文件上传
    (6)品牌新增
    数据仓库_MySQL(2)
    数据仓库_Linux(5)&MySQL(1)
    J哥说生产事故之僵尸进程
    J哥说生产事故之CPU爆表
    idea classpath
    (五)返回两个数组之间的差异
    (四)数组扁平化
  • 原文地址:https://www.cnblogs.com/lstj/p/3599451.html
Copyright © 2011-2022 走看看