Найти тему
.Net Review

Паттерн Singleton. Пример использования на C#

Оглавление

Один из простейших и важнейших паттернов - Singleton. Данный паттерн решает проблему организации доступа к классу, который реализует какую-нибудь общую функциональность. Как сделать структуру, где будет реализован один объект и возможность использовать его в разных местах оптимизировано? Подробнее в этой статье.

Разбор на примере

Предположим, что нужно создать оболочку для работы с запросами. Для этого реализуем отдельный класс RequestManager. Реализации полноценного менеджера запросов не будет, т.к. не в нем суть.

-2

Менеджер запросов есть и всё работает. Для вызова нужно создать новый объект класса RequestManager и использовать его методы.

-3

Вроде бы всё красиво, но если нам нужно использовать этот менеджер в других местах то придется создавать новый экземпляр класса RequestManager. Для решения этой проблемы используем паттерн Singleton.

-4

Теперь можно получить класс RequestManager из любого места через метод GetInstance().

-5

Результат:

-6

Итог

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

Телеграмм канал: https://t.me/dotnetreview