其适用场所是,当有对象A实现了someinterface接口的功能,对象B实现了otherinterface接口的功能,当需求改变时,要求,B实现一种新的功能,但是该功能在A中已经实
现,所以此时要实现代码的可重用性,对象B的新功能调用对象A的功能函数,而不再自己重新实现,当然在其中也可以加进自己的其他操作。在这当中B控制A的生存期,当B
生成时,A也实现自己的构造函数,完成A的构建,这两个COM对象,对于调用B的客户而言,B是服务提供者,而调用A的B而言,B是客户,A是服务提供者,主要特点是,所
有的功能都在B接口中暴漏出来,对于客户端而言,他是不知道A的存在的,或者说客户端认为,该功能的实现是B的功劳。现在假设someinterface已经实现,并且已经生成了
一个someinterface.dll等待被调用,其功能函数是someFucntion,现在我们看下otherinterface接口的实现,首先观察其所使用的.idl接口描述文件的内容,注意添加other ATL
简单对象
至于该other.h文件不过是增加了
对于other.cpp文件主要是Init函数将some接口实例化,和someFunction功能函数的调用
如下
需要注意的是需要用户自行调用Init函数进行初始化