具有参数的对象的单例类

dis*_*kid 7 c# singleton design-patterns

我意识到我应该只有一个被称为一次StdSchedulerFactory运行的对象实例.到目前为止,我实例化了这样的对象

StdSchedulerFactory sf = new StdSchedulerFactory(properties);
Run Code Online (Sandbox Code Playgroud)

属性是一个NameValueCollection.如何为此对象编写Singleton类,以便变量sf在整个程序中始终具有一个实例?

Bra*_*NET 9

该部分Singleton的图案通常是私有的构造,让其他类不能做出新的实例.

来自课外的参数的解决方法是添加"Init"或"Configure"功能:

public static void Configure(NameValueCollection properties)
{
}
Run Code Online (Sandbox Code Playgroud)

当然,如果你忘记调用这个函数,你可能会得到你不想要的行为; 所以你可能想设置一个"Configured"标志或类似的东西,这样你的其他函数可以在没有调用此函数时做出适当的反应.