Component Object Model: различия между версиями

[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
м →‎DCOM: форматирование запроса источника под маленький текст, а не прямой.
м →‎Критика: запятые вокруг "обычно"
Строка 62:
Технология часто критикуется за неоправданную сложность, конкретно:
 
* необходимость использования двух языков программирования (.idl для описания интерфейсов и, обычно, C++ для написания реализаций). Необходимость возникает только при создании собственных интерфейсов, и не возникает в случае, если разработчик ограничил себя использованием готовых интерфейсов.
* необходимость "прокладочного" кода (в его роли обычно выступает ATL) для того, чтобы создать COM-объект на базе Си++ класса. Хотя этот код и тривиален в использовании для опытного человека, он не очень прост для начинающих. Как и в предыдущем пункте, эта проблема возникает только при написании собственных классов и не возникает при одном лишь использовании стандартных чужих классов (для которых MS разработал библиотеку смарт-пойнтеров - comdef.h, _com_ptr_t<Interface>, эта библиотека делает использование COM-объектов тривиальным).
* необходимость регистрации компонент в реестре операционной системы, причем при этом в качестве идентификатора класса используется нечитаемый человеком [[GUID]] (хотя его и возможно дополнить читаемым именем).