COM-объект - это в основном черный ящик, который реализует некоторый известный интерфейс. Он также может зарегистрироваться в Windows, чтобы программы могли его использовать.
Например, скажем, есть некоторый интерфейс ICalculator
, который я пишу для использования в своей программе. Теперь я могу поменять любой объект, написанный на любом языке программирования (поскольку это двоичный интерфейс), который реализует ICalculator
. Затем во время выполнения я могу предоставить пользователям какую-то опцию, чтобы они могли выбрать использование FooCorpCalculator
COM-объекта, написанного на Python, или, возможно, если им нужна большая скорость, они могут выбрать NinjaCalculator
написанное на C. Дело в том, что я пишу моя программа должна зависеть от интерфейса, а не от реализации, а затем выбрать использование фактического COM-объекта, который реализует интерфейс позже.
Конечно, есть еще много чего, но это может быть примером, который делает его более конкретным для вас.