Re: единственность экземпляра COM объекта
От: PM  
Дата: 02.02.04 11:22
Оценка: 1 (1)
Здраствуйте, Alex_N_S. Вы писали:

[]
Статья Шаблон проектирования “Одиночка” (Singleton) в ATL приложениях
Автор(ы): Иван Андреев
Дата: 03.08.2003
Описание шаблона проектирования синглетон очень простое — синглетон представляет собой единственный экземпляр класса, с которым работают все клиенты. Применительно к COM шаблон проектирования синглетон гарантирует, что все вызовы CoCreateInstance будут возвращать указатель на интерфейс единственного экземпляра компонента. Удобство использования таких компонентов/классов заключается в том, что клиенты работают с одним и тем же экземпляром, а значит, получают доступ к разделяемому состоянию этого экземпляра. Несмотря на простое описание, не существует "идеальной" реализации этого шаблона ни в языке С++, ни для COM-объектов. Связано это с тем, что любая существующая реализация имеет некоторые ограничения и не может выступать в роли "универсальной" реализации на все случаи жизни.
Posted via RSDN NNTP Server 1.7 "Bedlam"
единственность экземпляра COM объекта
От: Alex_N_S  
Дата: 02.02.04 09:54
Оценка:
Доброе время суток, господа.

У меня к Вам следующий вопрос.
Есть ATL exe-сервер. В нем реализован COM-объект.
Как сделать так, чтобы объект этот объект создавался в единственном экземпляре.
Т.е. все клиенты из других приложений получали интерфейсы одного и того же экземпляра объекта.

P.S. Текущее реализованное мною решение этой проблемы — это регистрация объекта в ROT и получение к нему доступа через нее. Но хотелось бы узнать существует ли другое решение с использованием средств ATL.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.