Одиночка (Singleton)
Паттерн Singleton относится к порождающим паттернам уровня объекта.
Паттерн контролирует создание единственного экземпляра некоторого класса и предоставляет доступ к нему.
Другими словами, Singleton гарантирует, что у класса будет только один экземпляр и предоставляет к нему точку доступа, через фабричный метод.
Требуется для реализации:
- Функция GetInstance, создающая экземпляр класса Singleton только один раз. Если до этого экземпляр уже был создан, то просто возвращает этот экземпляр.
[!] В описании паттерна применяются общие понятия, такие как Класс, Объект, Абстрактный класс. Применимо к языку Go, это Пользовательский Тип, Значение этого Типа и Интерфейс. Также в языке Go за место общепринятого наследования используется агрегирование и встраивание.
-- THE END --