背景:我正在为一个Windows应用程序编写一个C#类,它将作为一个包含自定义错误检查的自定义Sql Server类。此类将允许一般的SQL函数:执行查询,连接到数据库,关闭连接等。
我的情况是:我有两个独立的数据库,我需要同时连接。但我想实现Singleton模式,以便每个数据库只能建立一个连接(因此一次打开两个连接,但每个数据库一个连接)。我想阻止建立第二个连接到任一数据库。
我想到了Flyweight模式,但我认为这不适用于这种情况,如果我能够以某种方式使Singleton模式工作,那将是更好的解决方案......我总是可以不使用Singleton并有两个数据库对象,或者我可以创建一个" open"在请求新连接时要检查的类中的标志,以查看现有连接是否已打开,并基于该句柄进行处理...
想法/我该怎么做?