Singleton
Singleton-класс возвращает тот же экземпляр независимо от того сколько раз запросы приложения это. Типичный класс разрешает вызывающим сторонам создавать столько экземпляров класса, сколько они хотят, тогда как с singleton-классом, может быть только один экземпляр класса для каждого процесса. Одноэлементный объект обеспечивает глобальную точку доступа к ресурсам ее класса. Одиночные элементы используются в ситуациях, где эта единственная точка управления желательна, такой как с классами, предлагающими некоторую общую услугу или ресурс.
Вы получаете глобальный экземпляр от singleton-класса до метода фабрики. Класс лениво создает собственный экземпляр в первый раз, когда это требуют и после того гарантирует, что не может быть создан никакой другой экземпляр. Singleton-класс также препятствует тому, чтобы вызывающие стороны копировали, сохранили или выпустили экземпляр. Можно создать собственные singleton-классы при нахождении потребности в них. Например, если у Вас есть класс, обеспечивающий звуки для других объектов в приложении, Вы могли бы сделать его одиночным элементом.
Несколько классов платформы Какао являются одиночными элементами. Они включают NSFileManager
, NSWorkspace
, и, в UIKit, UIApplication
и UIAccelerometer
. Имя метода фабрики, возвращая одноэлементный экземпляр имеет, условно, форму shared
ClassType. Примеры от платформ Какао sharedFileManager
, sharedColorPanel
, и sharedWorkspace
.