你能解释一下聚合、遏制和授权之间的区别吗
问问题
903 次
3 回答
2
由于您已经用 COM 标记了它,我假设您在问 COM 如何使用这些术语 - 在 COM 术语中,它们的含义比一般使用时更具体。
方便的是,MSDN 有定义这些的页面——我将给出一个简短的总结:
遏制/委托- 当一个外部对象拥有(包含)并使用(委托给)内部对象时。这两个对象保持不同的身份和不同的接口集。
聚合- 当两个或多个 COM 对象实质上汇集它们的接口并表现得好像它们是单个 COM 对象时。客户端代码然后处理看似单个对象,但实际上是其他对象的“聚合”。
当您希望一个对象从另一个对象“继承”一组接口时,通常使用聚合。然而,实现起来有些复杂:COM 要求您必须能够从对象上的任何接口 QI 到任何其他接口,因此所涉及的各种对象必须合作以确保您可以从其中一个对象上的任何接口 QI对于另一个接口的任何接口,两个对象都有引用计数工作。
于 2011-12-07T15:49:04.927 回答
1
包含描述了一个类的概念,其数据成员是另一个类/类型的对象。
委托表达了一个类使用另一个类来完成任务或目标的想法。
委派通常通过遏制来完成
于 2011-12-06T13:06:01.377 回答