当前位置:编程学习 > C#/ASP.NET >>

什么是聚合啊,c#老师问我们的。

答案:COM技术:
要公开一个 COM 类的接口,并将这些接口当作是在第二个 COM 类上实现的,第二个类就将聚合第一个类。COM 对象可以聚合 .NET 对象,在这种情况下,该对象的所有接口(包括其类接口)都可以通过外部对象来使用。内部 .NET 对象将对其 IUnknown 方法的调用委托给控制 IUnknown。
聚合比包容(在下一节说明)略为复杂。它通常用于使外部对象能够在不进行修改的情况下公开另一个对象的接口实现。所有托管对象自动支持将托管对象用作内部对象来进行 COM 样式的聚合。要聚合托管对象,非托管的外部对象将创建托管的内部对象,方法是调用 CoCreateInstance,然后将外部对象的 IUnknown 作为 OuterUnknown 参数传递。当外部 IUnknown 在构造过程中传递给托管对象时,托管对象将缓存接口并以如下方式使用该接口:
外部对象挂接到内部 IUnknown 的非委托 IUnknown。非委托 IUnknown 的运行方式与常规 IUnknown 相同;也就是说,如果对象实现了接口,非委托 IUnknown 就会成功,否则就会失败。非委托 IUnknown 不会将调用转发到外部对象。
如果对内部对象查询它不支持的接口,内部对象就会将调用委托给外部对象的 IUnknown 接口。
对内部对象的 QueryInterface、AddRef 和 Release 方法的所有调用都将委托给外部对象的 IUnknown。
通过这三种行为,可以聚合任何托管对象。利用这种聚合关系,可以使单个 COM 对象部分在托管代码(内部部分)中实现,部分在非托管代码(外部部分)中实现。
聚合有个特性就是定制,因为可定制聚合才有意思,如互联网的RSS订阅,如Google Reader,雅蛙网。
聚合函数是sql中的。查询一个集合体的操作,例如求和SUM 平均值AVG 等等!
聚合函数对一组值执行计算并返回单一的值。

上一个:c#的窗体程序连接sql2005数据库实现登录功能
下一个:C#学习的问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,