xone

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

单例模式

class Dog(object):
    __instence = None
    def __new__(cls,*args,**kwargs):
        if not cls.__instence:
            cls.__instence = object.__new__(cls)
            return cls.__instence
        else:
            return cls.__instence

dog1 = Dog()
dog2 = Dog()
print(id(dog1))
print(id(dog2))

  输出

3035026006256
3035026006256

  

只初始化一次的单例模式

class Dog(object):
    __instence = None
    __init_flag = False
    def __new__(cls,*args,**kwargs):
        if not cls.__instence:
            cls.__instence = object.__new__(cls)
            return cls.__instence
        else:
            return cls.__instence

    def __init__(self,name):
        if Dog.__init_flag == False:
            self.name =name
            Dog.__init_flag = True

dog1 = Dog("旺财")
print(dog1.name)
dog2 = Dog("哮天犬")
print(dog2.name)

  输出

旺财
旺财

  

 

 

 

 

 

数据库连接池:放在本地,夯住跟数据库的连接状态,本地要连接数据库取数据的时候,直接从数据库连接池里取连接。

优点:降低连接数据库时间,提高用户体验。

 

posted on 2017-04-26 17:56  周小百  阅读(149)  评论(0编辑  收藏  举报