前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软考高级架构师:对象复用 COM

软考高级架构师:对象复用 COM

作者头像
明明如月学长
发布2024-05-25 10:16:49
1080
发布2024-05-25 10:16:49
举报
文章被收录于专栏:明明如月的技术专栏

一、AI 讲解

在 COM(组件对象模型)中,对象重用可以通过两种主要的对象组装技术来实现:聚集(Aggregation)和包含(Containment)。

在这里插入图片描述
在这里插入图片描述

这两者的区别如下:

聚集(Aggregation)

聚集是一种对象重用技术,其中一个对象(聚集器)将另一个对象(被聚集对象)的接口公开为自己的接口。这种方法使聚集器对象能够直接访问被聚集对象的功能,并将这些功能作为自己的一部分提供给客户端。

  • 共享接口:聚集对象直接向客户端公开被聚集对象的接口。
  • 透明性:对于客户端来说,调用聚集器的方法时,似乎是在调用单一对象的方法。
  • 实现复杂度:聚集器需要处理对被聚集对象接口的委托调用,这可能增加实现的复杂性。
包含(Containment)

包含是一种对象重用技术,其中一个对象(容器)包含另一个对象(被包含对象)并使用该对象的功能,但不会将被包含对象的接口公开给客户端。相反,容器对象会实现自己的接口,并在内部调用被包含对象的方法来实现这些接口。

  • 封装接口:包含对象不会直接公开被包含对象的接口,而是实现自己的接口。
  • 透明性:客户端调用包含对象的方法时,实际上是通过包含对象的接口间接调用被包含对象的方法。
  • 实现灵活性:包含对象可以对被包含对象的方法进行额外处理或修改,从而提供更多的灵活性。
区别总结
  • 接口公开:聚集会直接公开被聚集对象的接口,而包含则不会。
  • 透明性:聚集对于客户端来说是透明的,似乎在调用一个单一对象的方法;而包含则通过容器对象的接口间接调用被包含对象的方法。
  • 实现复杂度和灵活性:聚集可能增加实现的复杂性,因为需要处理接口委托调用;包含则提供了更多的实现灵活性,因为容器对象可以对被包含对象的方法进行处理或修改。

这两种技术都用于实现对象重用,但它们适用于不同的场景,根据具体需求选择合适的方法。

二、题目

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、AI 讲解
    • 聚集(Aggregation)
      • 包含(Containment)
        • 区别总结
        • 二、题目
        相关产品与服务
        容器服务
        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档