Como abstrair uma aula de singleton?
É assim que escrevo minhas aulas singleton.
public class MyClass
{
/// <summary>
/// Singleton
/// </summary>
private static MyClass instance;
/// <summary>
/// Singleton access.
/// </summary>
public static MyClass Instance
{
get
{
if (_instance == null)
{
_instance = new MyClass();
}
return _instance;
}
}
private MyClass() { .... }
}
Como criar um padrão singleton que é reutilizável?Os padrões singleton apresentam os seguintes desafios.
O construtor éprivate
ouprotected
.Uma classe base não pode instanciar uma classe herdada. Então você pode reutilizar um resumo comumMyAbstractSingletonClass
.Ele precisa ter uma propriedade somente leitura local para obter a instância.O problemaEstou usando esse padrão em várias classes e sempre tenho que escrever o mesmo código. Como posso escrever algo que é reutilizado sempre que preciso de um singleton?