WDMclient, совершенно не согласен, еще раз говорю, если программа пишется на С++, то СОМ:
1. замедляет работу
2. затрудняет портирование на другие платформы
3. отдает на откуп внешних механизмов (каждое такое обращение это время, ресурсы и передача ответственности) связанность
4. безбожно жрет ресурсы
и т.д. и т.п.
Ну если так рассуждать , то можно вообще и без С++ , на чистом ACMe шпарить.
не вижу связи.
На самом деле нет ни одной возможности определить где нужен COM .
Но если твоя прога достигнет 10000строк ты вспомнишь С++
достигнет 100000строк и тут то узнаешь преимущество COM.
COM это лишь отчасти клиент-сервер ,в основном это упорядочивание объектной среды вообще.
это вода налита, а упорядочивать структуру программы я могу и без COM (и без проблем со всех сторон)
Применение COM , избавляет от ненужного мусора в программе когда начинаешь изобретать
на базе С++ собственные объекты-инвалиды творческого мышления .
СОМ ни от чего не избавляет, он только геморроя добавляет. Что ты подразумеваешь под "своими собственными объектами- инвалидами", что это такое (ну там классы, структуры или что-то еще)?
Короче: объекты - это хорошо , а интерфейсы они и в африке интерфейсы
ВОТ!!! С этим согласен на все 100% (только объекты это не СОМ объекты, а просто объекты), но это НИКАКОГО отношения к СОМ не имеет!!!
итого СОМ - полный... эээ короче ненужный механизм. Если ты можешь аргументированно доказать что он нужен, давай расскажи, а я послушаю, непременное условие - мы пишем всю программу на С++ (никаких VB, Java и т.д., т.е. баз тех мест, где без него не обойтись)
Нормальное биение программы на модули осуществляется путем распределения их в dll (обычные такие dll)
ЗЫ
Напомню, что изобретатель технологии СОМ (речь о майкрософте) признал утопичность технологии и отказался от нее, отправив ее в утиль (.net не подразумевает использование (речь о разработке новых) COM в приложениях, но позволяет используя обертки использовать СТАРЫЙ, написанный ранее код, завернутый в COM объекты)