Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про C#: singleton, c#, static

Что такое паттерн проектирования Singleton в C#?

Этот вопрос проверяет понимание концепции паттерна Singleton и его применения в C#.

Короткий ответ

Паттерн Singleton ограничивает создание объекта классом, позволяя создать только один экземпляр. Он обеспечивает глобальный доступ к этому экземпляру через статический метод. Этот паттерн полезен, когда нужно использовать один и тот же объект по всему приложению.

Длинный ответ

Паттерн проектирования Singleton используется для ограничения создания объекта класса, гарантируя, что существует только один экземпляр этого класса в рамках приложения. Это полезно, например, при работе с ресурсами, которые не требуют создания множества объектов (например, подключения к базе данных). Паттерн имеет несколько ключевых особенностей:

- Приватный конструктор — чтобы предотвратить создание экземпляра класса извне.

- Статическая переменная — для хранения единственного экземпляра класса.

- Публичный статический метод — предоставляет доступ к экземпляру класса.

 

Пример реализации Singleton:

public class Singleton
{
    private static Singleton instance;

    private Singleton() { }

    public static Singleton Instance
    {
        get
        {
            if (instance == null)
            {
                instance = new Singleton();
            }
            return instance;
        }
    }
}

Паттерн Singleton используется, когда необходимо ограничить создание одного объекта и предоставить глобальный доступ к этому объекту. Это подходит для таких случаев, как управление конфигурацией или подключением к базе данных.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • C#

    C#

Ключевые слова

#singleton

#c#

#static

Подпишись на C# Developer в телеграм