Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

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

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

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

В данном примере одиночка реализован в классе Unit, мы объявили конструктор класса приватным, а заместо него создали метод getInstance()
отдающий нам один и тот же статический объект.