MFC - более простой путь, если вы новичок в COM: мастера лучше и полезнее. Но он гораздо менее гибок, чем ATL, что, вероятно, не является проблемой, если вам просто нужно реализовать пару простых интерфейсов.
Кроме того, IIRC MFC не поддерживает двойные интерфейсы. Двойные интерфейсы интересны в 2 случаях:
- Производительность это проблема. Например, вызов короткого метода выполняется миллионы раз.
- Пользователи объекта программируются на C ++. Вызов собственного интерфейса намного проще в C ++, чем вызов интерфейса автоматизации.
В заключение, двойные интерфейсы - это круто, но они действительно интересны, только если вы можете получить их бесплатно. Это означает, что вы используете фреймворк, который их поддерживает. Если вы планируете много работу на основе COM, интересно исследовать ATL и более глубокие знания COM. Если вам просто нужно предоставить пару простых объектов на основе MFC, просто придерживайтесь MFC.