我的项目中有一个Singleton,看起来像这样:
//Create a Singleton
static MySingleton Instance;
private static readonly object Padlock = new object();
/// <summary>
/// Singelton Method, to make sure only one instance of this class exists at runtime.
/// </summary>
/// <returns></returns>
public static MySingleton GetInstance()
{
//Thread Safety
lock (Padlock)
{
if (Instance == null)
{
Instance = new MySingleton();
}
return Instance;
}
}
private MySingleton()
{
}
//[...]
Singleton包含其他几个作为Properties的类,永远不能为null。
通常我会使用DependencyInjection来保证每个新对象在实例化时都获得所有必要的参数。像这样:
IHelperClass Helper {get; set;}
IExectiveClass Executive {get; set;}
public NotMySingleton(IHelperclass helper, IExecutiveClass executive)
{
Helper = helper;
Executive = executive;
}
但是我不知道如何将DependencyInjection与Singleton Pattern组合。
是否可以将Singleton与DependenyInjection一起使用? [[常见做法是什么? 我有哪些替代方法 ((如果这不是合适的选择)] >?
我的项目中有一个Singleton,如下所示://创建Singleton静态MySingleton实例;私有静态只读对象Padlock = new object(); ////// Singelton方法,...