毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

VC++的COM/DCOM的旅游资源信息分析软件构件开发+UML建模 第5页

更新时间:2012-2-13:  来源:毕业论文
COM接口具有不变性,即接口定义后就不会改变,要改变接口中的内容,只能通过其他方式,比如接口单继承(COM接口不支持多重集成)实现新的接口。一个对象可以向外界暴露多个接口,这就体现了COM对象的多态性。对象的多个接口是通过一个叫IUnknown的接口来管理的。
要想使用接口内的方法就必须实例化支持该接口的COM类,接口方法的具体实现部分在支持它的COM类中。接口是一个仅有抽象方法的类,因此接口不能被实例化。每个接口都有一个唯一的标识,通常称之为全球唯一性标识(GUID)。通过该标识来区分不同的接口,以免接口之间发生命名冲突。GUID是一个用32个16进制数字字符串表示的128位二进制数字,当被用来标识一个接口时成为接口标识(IID)。
3.5 COM的实现事件、通知
COM 组件实现事件、通知这样的功能有两个基本方法。回调接口方式非常好,速度快、结构清晰、实现也不复杂;连接点方式(Support Connection Points),连接点方法其实并不太好,速度慢(如果是远程DCOM方式,要谨慎选择它)、结构复杂、唯一的好处就是 ATL 对它进行了包装,所以实现起来反而比较简单。
回调接口方式使用的基类是从IUnknown继承出来的ICallBack接口,而连接点方式使用的基类是从IUnknown继承出来的IDispatch 接口。在服务器端使用ICallBack接口写回调函数,论文网http://www.youerw.com/  添加回调方法 Fire_OnXX开头的,还有回调计数器Advise() 、UnAdvise(),然后在客户端写接收器类 Sink_ 继承ICallBack ,再在实现回调处理函数raw_Fire_OnXX;调用的时候,首先在客户端程序中调用Advise,设置回调接口类Sink_ 的ICallBack指针,然后在服务器端需要的时候调用Fire_On就可以了。
3.6 COM/DCOM构件实现方法
3.6.1 使用COM SDK 实现
直接使用COM SDK开发COM组件是最基本也是最灵活的方式。通过使用Microsoft提供的开发包,我们可以直接编写COM程序。但是,这种开发方式的难度和工作量都很大,一方面,要求开发者对于COM的技术原理具有比较深入的了解(虽然对技术本身的深刻理解对使用任何一种工具都是非常有益的,但对于COM这样一整套复杂的技术而言,在短时间内完全掌握是很难的),另一方面,直接使用COM SDK要求开发人员自己去实现COM应用的每一个细节,完成大量的重复性工作。这样做的结果是,不仅降低了工作效率,同时也使开发人员不得不把许多精力投入到与应用需求本身无关的技术细节中。虽然这种开发方式对于某些特殊的应用很有必要,但这种编程方式并不符合组件化程序设计方法所倡导的可重用性,因此,直接采用COM SDK不是一种理想的开发方式。
3.6.2 通过MFC实现本文来自优.文~论^文·网原文请找腾讯3249-114
使用MFC提供的COM支持开发COM应用可以说在使用COM SDK基础上提高了自动化程度,缩短了开发时间。MFC采用面向对象的方式将COM的基本功能封装在若干MFC的C++类中,开发者通过继承这些类得到COM支持功能。同时MFC提供对Automation 和 ActiveX Control的支持,在Visual C++中也提供了相应的AppWizard和ClassWizard支持,这种可视化的工具更加方便了COM应用的开发。
MFC对COM和OLE 的支持确实比手工编写COM程序有了很大的进步。但是MFC对COM的支持是不够完善和彻底的,例如COM接口定义的IDL语言,MFC并没有任何支持,此外对于近些年来COM和ActiveX技术的新发展MFC也没有提供灵活的支持。从对COM 的支持必然要服从其全局目标而言,MFC对COM的支持不能很好的满足开发者的要求,同时MFC对COM技术的支持在网络应用的环境下也显得很不灵活

上一页  [1] [2] [3] [4] [5] [6] [7] [8] 下一页

VC++的COM/DCOM的旅游资源信息分析软件构件开发+UML建模 第5页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。