我们必须控制一些硬件,由于驱动程序的限制,所有调用都来自同一个调用者对象,所以我实现为单例模式。
驱动程序可能会挂起,在这种情况下它必须被杀死并且应用程序将尝试再次启动它...所以我将单例修改为复活 - 抱歉我只是创造了这个术语,因为我不知道什么是正确的。
基本上它的生活方式是这样的:
不存在=>单身#1 => hang =>已杀死=>单身人士#2 ......
是否有这种“可复活的单身”设计模式?有什么陷阱我会注意到吗?
哦,我正在使用C#,虽然我更多地将其作为一般的OO设计主题......
答案 0 :(得分:2)
单例模式在这里并不适用,因为你说自己需要创建更多的对象。
我建议你使用类似工厂模式的东西:
您实施工厂,以便一次只创建一个对象。