Singleton类中的DependencyInjection?

问题描述 投票:1回答:1

我的项目中有一个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;
}

但是我不知道如何将DependencyInjectionSingleton Pattern组合。

是否可以将Singleton与DependenyInjection一起使用? [[常见做法是什么? 我有哪些替代方法 ((如果这不是合适的选择)] >?

我的项目中有一个Singleton,如下所示://创建Singleton静态MySingleton实例;私有静态只读对象Padlock = new object(); ///

/// Singelton方法,...

c# dependency-injection singleton
1个回答
0
投票
所有DI框架都提供了一种定义由DI容器实例化的对象的生存期的方法。一个生存期范围通常是Singleton。
© www.soinside.com 2019 - 2024. All rights reserved.