COM MFC ATL 值得学习吗?

3
现在学习COM MFC ATL WTL是否值得?

我们在日常工作中经常使用COM和ATL,而且还没有准备改变(Ms Office最棒了)。 - Alexandre C.
在我看来,即使不太了解COM,也可以使用它:-),Visual Studio会根据您在向导中的输入执行所有样板文件和更多操作。Don Box的书《Essential COM》的前几章值得一读,因为他解释了COM是为实现可插入组件而开发的,并展示了如何开发具有一致、不变的二进制接口的C++库,以便库更新不需要重新编译整个应用程序,即COM动态链接库。他的书对我来说确实阐明了很多关于这个主题的内容。 - Andrina Websdale
7个回答

6

一切值得学习:

忘记历史就注定要重蹈覆辙

了解过去才能理解现在

如果你预计需要与之合作,那么你应该花费大部分时间在这方面。否则,关注未来。


2
-1:完全没有回答问题。 - Jaywalker
+one 非常好的建议。 :-) - phougatv

6

如果你计划为Windows 7编程,那么对于COM和ATL可能是的。所有新的平台API都是基于COM的:Direct 2d、Ribbon、Animation、Location & Sensors、Libraries等等...

其中一些可能会有.NET包装器,但是托管代码现在不再是Windows团队的重点,至少在现在和不久的将来。


2

COM的概念非常值得理解,特别是接口、对象创建策略、代理和单元。


1

不完全是这样。如果你现在想要创建一个COM对象,你可以使用C++/.NET代替。如果你需要一个UI界面,WinForms或WPF都可以胜任。


1
COM始终是语言中立的!!! - user206705
SharePoint 2010要求IFilter(COM)实现必须用C++编写,或者至少是非托管代码--汇编语言中的COM? - Kelly S. French

1

是的,你可能会在微软的第二大盈利业务Office中找到工作,该业务仍然基于COM。比那更糟的命运还有很多。


2
大多数微软技术都使用COM作为它们的基础。为什么?因为它是一种非常好的技术!它唯一的问题是文档记录不够完善。但是,只要操作系统、DirectX、DirectShow、Media Foundation、Office产品等继续使用COM作为它们的基础,那么拥有COM技术将是非常宝贵的。 - user206705

1

COM 绝对值得。其他的,就不那么值得了。


0

只有当您需要与一些COM对象进行接口交互或需要维护一些旧的COM/ATL代码时,才需要使用它们。

对于MFC/WTL也是一样。利用最新的.NET工具,如WPF和Winforms,可以开发更好、更快的用户界面。


在 Windows 和 Office 的世界中,仍然会发布大量非遗留的 COM 对象。 - Drew Hoskins
是的,你说得对...我应该删除“遗留”的这个词。 - Aamir

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接