C/S模型
COM对象与客户程序之间是基于C/S(客户端/服务器)的模型在运行的,COM服务器是组件对象的容器,由组件对象向COM客户提供服务,所以COM的应用模型继承了C/S模型的优点:高可靠与稳定性、很强的拓展性并且性能高等。
包容与聚合
COM不是简单的C/S模型,有时客户可以反过来提供服务,COM对象提供服务的同时也可以向其他组件寻求服务,所以COM对象可能是一个服务方的同时也是客户,而C/S在这里只是相对的。COM提供了两种对象的重用机制,分别是包容和聚合,对于客户而言,他只知道对象B的存在而不知道对象A,而对象B可能在实现一些服务时调用了对象A的服务。两者的区别在于,包容是指客户调用B的服务时,由B直接调用A的服务,并把结果返回给客户,而聚合是指客户调用某个服务的时候,B直接把A的指针返回给客户去操作,但客户不知道A的存在,但他是直接调用A的。