Python设计模式:创建型原型模式详解

今天早睡
今天早睡
发布时间:2026-10-15 | 3人浏览过
原创

本文深入解析Python中的原型模式,阐述其通过深拷贝和属性更新实现对象克隆的核心思路。通过具体代码示例,展示如何利用原型模式减少实例化开销并实现个性化对象创建,适用于需要动态生成相似但略有差异对象的场景。

一、原型模式

原型概念侧重于复制与克隆,但不同于模板生成完全一致的内容,原型允许克隆出的对象存在差异化和个性化特征。

原型模式的核心实现思路包含“深拷贝”与“属性更新”。通过定义一个原型对象并设计相应的拷贝接口,可以避免频繁实例化类,转而直接对原型进行拷贝操作。

优点:

  • 有效降低因对象实例化带来的性能损耗,并支持动态装载机制。

二、应用场景

三、代码示例

以多个人自我介绍为例,常规做法是为每个人单独创建一个对象;而采用原型模式后,只需实例化一个标准对象(如“标准人”),后续其他对象均可基于该原型进行个性化定制。

import copy


class Information:
    """个人信息"""

    def __init__(self):
        self.name = None
        self.ager = None
        self.height = None

    def run(self):
        """
        自我介绍方法
        :return:
        """
        print("我叫{}: 年龄:{} 身高:{}".format(self.name, self.ager, self.height))


class Prototype:
    def __init__(self, obj):
        self.copy_object = obj()

    def clone(self, **attr):
        obj = copy.deepcopy(self.copy_object)
        obj.__dict__.update(attr)
        return obj


if __name__ == '__main__':
    test = Prototype(Information)
    a = test.clone(name='张山', ager="30", height='170cm')
    a.run()
    b = test.clone(name='李飞', ager="20", height='190cm')
    b.run()

到此这篇关于Python设计模式创建型原型模式的文章就介绍到这了,更多相关Python原型模式内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表