Você consideraria isso um padrão singleton / singleton?
Imagine no arquivo Global.asax.cs que eu tinha uma classe de instância como um campo privado. Vamos dizer assim:
private MyClass _myClass = new MyClass();
E eu tinha um método estático no Global chamado GetMyClass () que obtém o HttpApplication atual e retorna essa instância.
public static MyClass GetMyClass()
{
return ((Global)HttpContext.Current.ApplicationInstance)._myClass;
}
Assim, eu poderia obter a instância na solicitação atual httpapplication chamando Global.GetMyClass ().
Tenha em mente que há mais de um (Global) HttpApplication. Há um HttpApplication para cada solicitação e eles são agrupados / compartilhados, portanto, no verdadeiro sentido, não é um problema real.singleton. Mas segue o padrão até certo ponto.
Então, como a pergunta foi feita, você consideraria isso no mínimo o padrão singleton?
Você diria que não deveria ser usado? Você desencorajaria seu uso? Você diria que é umpossivelmente má prática como um verdadeiro solteirão.
Você poderia ver algum problema que possa surgir deste tipo de cenário de uso?
Ou você diria que não é um verdadeiro solteirão, então tudo bem, e não é uma prática ruim. Você recomendaria isso como um singleton quase quádruplo em que uma instância por solicitação é necessária? Se não, qual outro padrão / sugestão você usaria / daria?
Você já usou algo assim?
Eu usei isso em projetos anteriores, mas não tenho certeza se é uma prática da qual eu deveria ficar longe. Eu nunca tive problemas no passado embora.
Por favor, me dê seus pensamentos e opiniões sobre isso.
Eu não estou perguntando o que é um singleton. E eu considero uma prática ruim singleton quando usada incorretamente, o que é em muitos e muitos casos. Esse sou eu. No entanto, não é isso que estou tentando discutir. Estou tentando discutir este cenário que dei.