一种设计模式--单例模式

单例模式

单例模式,是一种减轻内存负担的设计模式。如果创建的对象在以前创建过,则直接指向该内存地址,而不是再开辟一块内存地址。

eg:

class Foo:
    __v=None
    @classmethod
    def get_instancd(cls):
        if cls.__v:
            return cls.__v
        else:
            cls.__v=Foo()
            return cls.__v

foo1=Foo.get_instancd()

print (foo1)

foo2=Foo.get_instancd()

print (foo2)

foo3=Foo.get_instancd()

print (foo3)
#运行结果
<__main__.Foo object at 0x00000175D94B09B0>
<__main__.Foo object at 0x00000175D94B09B0>
<__main__.Foo object at 0x00000175D94B09B0>

 

由以上运行结果做可知,分别用foo1,foo2,foo3实例化类Foo,而在内存中只创建了一块内存空间,其他的均指向了该内内存空间。
posted @ 2018-03-14 16:25  xsan  阅读(166)  评论(0编辑  收藏  举报