Skip to content

sunmeat/singleton

Repository files navigation

singleton pattern cpp example

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

In software engineering, the singleton pattern is a software design pattern that restricts the instantiation of a class to one "single" instance. This is useful when exactly one object is needed to coordinate actions across the system.

================================================

Задание для практики: Вы разрабатываете систему управления ресурсами для онлайн-магазина. Одним из ключевых компонентов этой системы является менеджер конфигурации, который хранит настройки приложения, такие как URL-адреса сервисов, таймауты подключений, настройки безопасности и прочие параметры.

Ваша задача:

  • Создать класс ConfigurationManager, который будет реализовывать паттерн Singleton и предоставлять единственную точку доступа к настройкам приложения.
  • Реализовать методы для добавления, удаления и получения параметров конфигурации.
  • Обеспечить возможность загрузки конфигурационных данных из файла и их сохранения обратно в файл.
  • Гарантировать, что приложение может использовать только один экземпляр ConfigurationManager для доступа к настройкам.

Дополнительные требования:

  • Использовать делегирование в конструкторе класса ConfigurationManager.
  • Создать минимум два конструктора: один без параметров и второй с параметрами для загрузки конфигурационных данных из файла.
  • Обеспечить защиту от множественного создания экземпляров ConfigurationManager.
  • Использовать механизм обработки исключений для обработки ошибок при загрузке и сохранении конфигурационных данных.