【问题标题】:COM Interface Methods limitCOM 接口方法限制
【发布时间】:2011-09-03 14:24:30
【问题描述】:

我将为 WIN CE 设备开发一个 COM 组件。一个 COM 接口(组件)可以添加的方法数量是否有限制?

【问题讨论】:

  • 提出这个问题会让你的设计听起来可能至少有些问题。

标签: c++ com


【解决方案1】:

接口的好处之一是多个类可以重用您的接口。这将允许程序在不同的类上使用相同的方法,而不用关心它们是什么。

COM 的目的之一是隐藏您正在访问的类的实现。假设用户不知道,给定一个界面,该界面背后究竟是什么。

想象你有一把椅子,现在想象你有一辆自行车。 两者都可以使用接口 ISeat。用户可以坐在任何一个物体上,而不知道用户坐在哪个物体上。现在自行车可以使用接口IPedal,而椅子不会使用该接口。现在 chair 不必拥有自行车实现的所有方法(如 PedalForward)。

如果由于您只有一个接口,chair 必须实现这些方法,那么您必须对这些方法做一些事情。您可以让该方法不执行任何操作,但这对用户来说毫无用处,并且可能很危险,因为用户可能正试图将椅子从车上踩下来,以免被车撞到。或者,您可以抛出异常。这很奇怪,因为用户会想知道为什么对象不能向前踩踏。

因此,如果您在一个接口中有太多方法,除了存在神级之外,您就没有按照 COM 的本应使用方式来利用它。

【讨论】:

    【解决方案2】:

    没有。

    但是如果你必须在一个类中添加很多方法,你的设计很有可能会被破坏。

    另外,请记住,一旦您发布了 COM 接口,您就永远不会“打算”更改它。

    【讨论】:

      猜你喜欢
      • 2012-08-18
      • 2010-09-30
      • 2019-05-09
      • 2020-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-27
      • 1970-01-01
      相关资源
      最近更新 更多