• 设计模式:原型模式


    原型模式

    原型设计(prototype)用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。原型其实就是从一个对象再创建另外一个可定制的对象,动态地获取对象运行状态,而且不需知道任何创建的细节。原型模式:制作简历实现

    实际应用示例:

    知乎上看到的对原型模式的意义的解释:

    Prototype 的意义在于,你拿到一个 Base* ,它指向某个 Derived 对象,你想克隆出 Derived 对象,但代码中不写出 Derived 的具体类型,因为有很多派生类,这种情况下你用构造函数是搞不定的,type-switch 是 bad smells 。

    另外,这里考虑 virtual 的性能损失是主次不分,构造对象需要分配内存,这开销比一次虚函数调用大多了。

    优点

    • 一般在初始化不发生变化时,克隆是最好的办法。既可以隐藏对象初始化细节,而且可以大大提高性能。
  • 相关阅读:
    Linux
    Linux
    Linux
    Linux
    Linux
    Python
    Linux
    Python
    MySQL
    Python
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12046764.html
Copyright © 2020-2023  润新知