Prototype pattern (Python recipe)

转载 2015年07月08日 14:50:33

原文链接:http://code.activestate.com/recipes/86651-prototype-pattern/

http://dongweiming.github.io/python-pototype.html

from copy import deepcopy

class Prototype:
    def __init__(self):
        self._objs = {}
        
    def registerObject(self, name, obj):
        """
        register an object.
        """
        self._objs[name] = obj
        
    def unregisterObject(self, name):
        """unregister an object"""
        del self._objs[name]
        
    def clone(self, name, **attr):
        """clone a registered object and add/replace attr"""
        obj = deepcopy(self._objs[name])
        obj.__dict__.update(attr)
        return obj
    

if __name__ == '__main__':
    class A:
        pass


    a=A()
    prototype=Prototype()
    prototype.registerObject("a",a)
    b=prototype.clone("a",a=1,b=2,c=3)


    # 这里会返回对象a
    print(a)
    # 这里的对象其实已经被修改成(1, 2, 3)
    print(b.a, b.b, b.c)


设计模式6:Prototype Pattern (原型模式)

出自于:http://www.cnblogs.com/zhenyulu/articles/39257.html参考于:http://www.dofactory.com/Patterns/Pattern...
  • rocket5725
  • rocket5725
  • 2009年06月25日 09:25
  • 2622

设计模式(创建型)之原型模式(Prototype Pattern)

要理解原型原型模式必须先理解Java里的浅复制和深复制。有的地方,复制也叫做克隆。Java提供这两种克隆方式。 因为Java中的提供clone()方法来实现对象的克隆,所以Prototype模式实现一...
  • yanbober
  • yanbober
  • 2015年04月29日 11:28
  • 3039

原型模式(Prototype Pattern)的用户以及示例demo

原型模式 原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式是实现了一个原型...
  • yin767833376
  • yin767833376
  • 2017年01月12日 22:29
  • 372

我与C++设计模式(四)——prototype pattern

我故意将bia
  • guozhengdong
  • guozhengdong
  • 2014年10月01日 10:20
  • 497

设计模式总结之Prototype Pattern(原型模式)

用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
  • cooldragon
  • cooldragon
  • 2016年08月11日 00:43
  • 1453

Design Pattern: Prototype 模式

学习是分享和合作式的! 转载请注明出处:http://blog.csdn.net/wdzxl198/article/details/9223275; 文章摘自: http://www.riabook...
  • wdzxl198
  • wdzxl198
  • 2013年07月08日 14:42
  • 1184

python学习 + recipes

python kindle calibre recipes
  • fc403462630
  • fc403462630
  • 2015年11月21日 15:36
  • 666

设计模式-原型模式-prototype-python

原型模型
  • CCyutaotao
  • CCyutaotao
  • 2017年08月03日 16:44
  • 382

Prototype Pattern

思路类似我们编程,不会每次都重新写代码,而是修改以前的代码。 Instead of creating a new object, clone an exist object, then modify...
  • chuandalishuo
  • chuandalishuo
  • 2016年04月04日 08:59
  • 79

python的Pattern模块

pattern Pattern is a web mining module for the Python programming language. It bundles tools...
  • chenyi8888
  • chenyi8888
  • 2012年10月16日 10:31
  • 2685
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Prototype pattern (Python recipe)
举报原因:
原因补充:

(最多只允许输入30个字)