Обзор темы [Шаблоны проектирования]

Затем: МотивацияНазначение

Гарантирует существование только одного объекта данного класса и обеспечивает глобальный доступ к этому объекту.

Затем: СтруктураМотивация

Иногда важно, чтобы существовал ровно один экземпляр какого-либо класса. Система может иметь много принтеров, но должен существовать только один спулер принтера. Должна существовать только одна файловая система и один администратор оконного режима. Цифровой фильтр всегда имеет один A/D преобразователь.

Как можно гарантировать, что класс имеет только один объект и что этот образец является легко доступным? Глобальная переменная делает объект доступным, но не предохраняет Вас от инстанцирования множества объектов.

Лучшее решение состоит в том, чтобы определить класс, непосредственно ответственный за слежение за собственным объектом. Класс может гарантировать, что никакой другой экземпляр не может быть создан (прерывая запросы на создание новых объектов). Этот шаблон - Singleton.

 

Затем: Составные частиСтруктура

Затем: СотрудничествоСостывные части