请问潘爱民的《COM原理与应用》第2章与第3章实现的DictComp本质上有何区别?
最近在看潘爱民的《COM原理与应用》,读完第2章与第3章的实例:
在第2章中采用了一个简单的模拟办法:在组件程序中引出一个CreateObject函数,在客户中调用该引出函数以完成创建过程,一旦创建对象的任务完成,则客户就严格按照COM规范调用接口功能。
第3章是一个真正的COM组件程序,它以进程内组件的形式实现。新版的字典组件的功能并没有增强,但原来的模拟创建对象的函数被去掉了,增加了COM所要求的类厂对象以及几个标准引出函数的实现。
问题:虽然第2章是一种模拟实现,但我觉得它的这种实现方法更简单;第3章虽然是真正的COM组件程序,但我感觉好像故意把问题搞复杂化了一样,但它们实现的结果是一样的。在这里我想知道第3章的这种“故意把问题搞复杂”的道理,即第3章的方法相比于第2章的方法,到底它实现了COM的什么特性?
[解决办法]
类厂是最基本的设计模式,原因很简单,因为对于分布式系统,你不可能提出要求后再去创建对象,那个响应速度太慢了,所以需要类厂的管理,当需要对象时,他可以立即去使用,所以就需要lockserver和createinstance.
我也正在看潘的COM本质论,老外写的书就是好啊