function something_cool(text, callback){
alert(text);
if(typeof(callback)=='function'){
callback();
};
}
Ну, DCOM - это распределенная версия COM, а COM очень сложен сам по себе и очень прост непреднамеренно сделать что-то не так (см. этот недавний вопрос и ответ на него для примеров). С DCOM у вас просто еще больше способов навредить себе.
Кроме этого, он работает и, например, является хорошим способом размещения внутрипроцессных компонентов COM в отдельном процессе.
Если вы хотите разрабатывать только на C ++ и развертывать в контролируемой сети, это все равно может быть хорошим выбором.
Мне не нравится COM / DCOM, потому что «Катастрофический сбой»
- это самое бесполезное сообщение об ошибке в истории сообщений об ошибках.
Если вы пытаетесь создать клиент-серверное приложение и хотите, чтобы связь проходила через границы сети (например, через Интернет), то DCOM может быть проблематичным из-за брандмауэров.
Я работал над очень успешным серверным приложением, которое распространялось с использованием DCOM, мы позволяли системе обрабатывать большую часть сложности, создавая серверные приложения COM + и экспортируя прокси приложений. В этом случае это работало очень хорошо, пока все наши версии были синхронизированы.
В конце 90-х я реализовал большую систему с использованием DCOM. Хотя это работало довольно хорошо, было несколько проблем. Для начала он использует непредсказуемые номера портов для связи. Он не масштабируется, и вам гораздо лучше использовать WCF, чем DCOM.
Я думаю, что импульс переместился в сторону SOAP и других технологий веб-сервисов, потому что они:
I Сам никогда не пользовался DCOM, поэтому не могу ничего сказать о его качестве и пригодности.