Потрібна крута книжка про патерни та ще й українською? Ось вона »
Одинак

Одинак на Go

Одинак — це породжуючий патерн, який гарантує існування тільки одного об’єкта певного класу, а також дозволяє дістатися цього об’єкта з будь-якого місця програми.

Одинак має такі ж переваги та недоліки, що і глобальні змінні. Його неймовірно зручно використовувати, але він порушує модульність вашого коду.

Ви не зможете просто взяти і використовувати клас, залежний від одинака, в іншій програмі. Для цього доведеться емулювати там присутність одинака. Найчастіше ця проблема проявляється при написанні юніт-тестів.

На основі: Golang By Example

Одинак іншими мовами програмування

Одинак на Java Одинак на C# Одинак на C++ Одинак на PHP Одинак на Python Одинак на Ruby Одинак на Swift Одинак на TypeScript