Считаете ли вы это модель синглтон / синглтон?

Представьте, что в файле Global.asax.cs у меня есть экземпляр класса в качестве частного поля. Скажем так:

private MyClass _myClass = new MyClass();

И у меня был статический метод в Global, называемый GetMyClass (), который получает текущее HttpApplication и возвращает этот экземпляр.

public static MyClass GetMyClass()
{
    return ((Global)HttpContext.Current.ApplicationInstance)._myClass;
}

Поэтому я могу получить экземпляр текущих запросов httpapplication, вызвав Global.GetMyClass ().

Имейте в виду, что существует более одного (глобального) HttpApplication. Для каждого запроса есть HttpApplication, и они объединяются в пул / разделяются, так что в прямом смысле это не настоящийодиночка, Но это в определенной степени соответствует шаблону.

Итак, как задан вопрос, рассмотрите ли вы это, по крайней мере, модель синглтона?

Вы сказали бы, что это не должно использоваться? Вы не хотели бы использовать его? Вы бы сказали, что этовозможно плохая практика, как настоящий синглтон.

Могли ли вы увидеть какие-либо проблемы, которые могут возникнуть из-за такого сценария использования?

Или вы бы сказали, что это не настоящий синглтон, так что все в порядке и неплохая практика. Вы бы порекомендовали это как полу-квази-синглтон, где требуется экземпляр для запроса? Если бы не другой шаблон / предложение вы бы использовали / дать?

Вы когда-нибудь использовали что-нибудь подобное?

Я использовал это в прошлых проектах, но я не уверен, стоит ли избегать этой практики. У меня никогда не было проблем в прошлом.

Пожалуйста, дайте мне свои мысли и мнения по этому поводу.

Я не спрашиваю, что такое синглтон. И я считаю синглтон плохой практикой при неправильном использовании, что во многих-многих случаях. Это я. Однако это не то, что я пытаюсь обсудить. Я пытаюсь обсудить ЭТОТ сценарий, который я дал.

Ответы на вопрос(6)

Ваш ответ на вопрос