Во-первых, стоит отметить, что COM - довольно старая технология.Это значительно предшествует .NET, которые иногда предоставляют ту же функциональность.Однако, по сравнению с простой DLL, у нее есть несколько преимуществ, например:
- Он не имеет функционального интерфейса, но OO.Вы создаете объекты, а не вызываете экспортированные функции.
- Он поддерживает системные настройки безопасности, поэтому вы можете управлять доступом к COM-классу через настройки безопасности Windows.
- Он пересекает границы процесса - COM-сервер можетлибо в процессе пользователя, либо в отдельном.
- Пересекает границы машины, AKA DCOM.
- Пересекает границы языка.Протокол COM является двоичным, поэтому каждый язык, который его поддерживает, может использовать компоненты COM независимо от языка, на котором эти компоненты были созданы.
- Существует много языков, которые поддерживают COM, и на которых вы можете легко создавать и использоватьCOM-объекты.
Это всего лишь верхушка айсберга.Хотя COM устарел, он широко используется в Windows.Правильно ли вам использовать эти технологии в наши дни - это другой вопрос - это зависит от ваших конкретных потребностей.Но если вы программист Windows, вам все равно стоит ознакомиться с ним.Даже если вы не производите какой-либо COM-продукт, вы, скорее всего, будете его использовать.