Что такое паттерн проектирования 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 используется, когда необходимо ограничить создание одного объекта и предоставить глобальный доступ к этому объекту. Это подходит для таких случаев, как управление конфигурацией или подключением к базе данных.