TO:小雨哥
多谢指正。
我的说法确实有偏驳之处。
其实作为操作系统核心技术之一的内存使用和分配是每个程序员或多或少要掌握的知识。
COM是寄生在Win32平台之上。
至于com的优缺点,可能我们论述面不同。引用记数确实不利于组件交互和扩展,烦琐的
注册机制使com的使用带来诸多不便(注册表终将被MS抛弃),MS在。net中的assemblies
势必是学习了他人技术以后的新的选择。我所说的com的类工厂和派发接口的支持,是从
设计角度考虑,因为com的设计过程中确实运用了许多优良的设计模式和设计思想,当然
外在表现就是类工厂、自动化接口、进程外com,Dcom等等。比如类工厂使用了抽象工厂
模式,进程外com使用了proxy/stub 即代理/占位的实现方法,而dcom是建立在RPC基础
之上的proxy/stub。
我所言“所以不必深究COM的实现原理和方法,理解其设计思想就可以了。”的目的是
我们不要把精力过多投入到某些实现技术,否则我们只能是学完com再学dcom/com+,然后
。net。。。
应该在OO(OOAD、OOP),软件工程思想,组件模型等方面多下功夫,甚至应该在
计算机原理方面多些认识,这样在学习任何一种实现技术则会轻松自如。