python设计模式

python设计模式

 

一. 单例模式

  单例模式(singleton pattern)是最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同事确保只有单个对象被创建、这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。单例模式就是一个类只能创建一个实例化对象!

注意:

  • 单例类只能有一个实例
  • 单例类必须自己创建自己的唯一实例
  • 单例类必须给所有其他对象提供这一实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Foo:
    instance = None
 
    def __init__(self, name):
        self.name = name
 
    @classmethod
    def get_instance(cls):
        if cls.instance:
            return cls.instance
        else:
            obj = cls("aaa")
            cls.instance = obj
            return obj
 
obj1 = Foo.get_instance()
print(obj1)
 
obj2 = Foo.get_instance()
print(obj2)
 
# 输出
<__main__.Foo object at 0x1007f9550>
<__main__.Foo object at 0x1007f9550>

  

未完待续

原文地址:https://www.cnblogs.com/meng-wei-zhi/p/8258775.html