Я новичок в COM, и я не знаю, что это такое или почему он существует.Что такое Component Object Model (COM)? Это зависит от языка?
Является ли это методологией программирования, такой как ООП? Должны ли языки программирования поддерживать его? (С некоторыми специальными ключевыми словами или что-то)
Когда я спросил мой профессор об этом, он сказал:
COM является двоичным стабильным способом сделать ООП. Нам нужно знать двоичный-макет (что-то..что-то ..)
Я понятия не имею, что это значит. Некоторые говорят, что он используется для повторного использования кода. ООП хорошо справляется с этим, так почему же тогда этот СД развился в первую очередь?
Что такое C++ и COM? Там, где я вижу COM, это всегда описывается с абстрактными примерами на C++. Это только для C++?
Может ли кто-нибудь показать мне случай или exmaple, чтобы я мог понять необходимость COM? Каковы требования для изучения этого, поэтому я могу написать свои собственные компоненты?
«Каковы требования для изучения этого, чтобы написать мои собственные компоненты?» Одно из ключевых соображений: вам нужно использовать COM для этих компонентов? В настоящее время COM - это, в основном, наследие: он нужен для сред, которые уже работают на базе COM, таких как Windows Explorer, но для большинства ситуаций вы, скорее всего, будете использовать .NET, с заменой DCOM на обмен сообщениями (например, WCF). Если у вас нет конкретного варианта использования, который требует COM (или вас обычно интересуют архитектуры компонентов), это, вероятно, не очень хорошая технология для изучения прямо сейчас. – itowlson
Я думаю, что причина, по которой вы видите так много примеров на C++, - это компоновка в памяти COM-объекта, в точности такая же, как класс C++ с виртуальными функциями. Могут быть некоторые незначительные отличия, которые я не помню, но C++ может использовать COM-объекты напрямую, как минимум в большинстве случаев. – rmeador