我正在尝试创建一个类,该类将用于与必需的服务器或数据库建立连接,具体取决于第一个服务器的响应。这些连接可以在大型项目中的任何地方使用,而大型项目一天要循环打开几次。与每个服务器的连接并非总是必要的,因此我希望他们在调用时建立这些连接,然后保持连接直到脚本结束。
我尝试使用Singleton模式,但是我不知道如何在通话中创建连接。
class ConnectionEstablisher:
server_conn = connector(serv1)
@staticmethod
def instance():
if '_instance' not in ConnectionEstablisher.__dict__:
ConnectionEstablisher._instance = ConnectionEstablisher()
return ConnectionEstablisher._instance
def main():
s1 = ConnectionEstablisher.instance()
s2 = ConnectionEstablisher.instance()
assert s1 is s2
assert s2.server_conn == s1.server_conn
print('Asserions passed')
上面的代码符合以下基本假设:它不会尝试与服务器建立多个连接,但是即使没有必要,它也会创建这些连接。我希望只有在调用此s1.server_conn时才能创建这些连接。
我试图对属性做一些事情,但是对它们来说我是新手,不知道该怎么做。