C++ COM接口方法限制

C++ COM接口方法限制,c++,com,C++,Com,我将为WIN CE设备开发一个COM组件。可以添加到COM接口(组件)的方法的数量是否有任何限制?否 但是如果你必须在一个类中添加很多方法,那么你的设计很有可能被破坏 此外,请记住,一旦发布COM接口,您的用户永远不会“假定”更改它。否 但是如果你必须在一个类中添加很多方法,那么你的设计很有可能被破坏 另外,请记住,一旦发布COM接口,您永远不会“假定”更改它。接口的好处之一是多个类可以重用您的接口。这将允许程序在不同的类上使用相同的方法,而不关心它们是什么 COM的意图之一是隐藏正在访问的类的

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

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

此外,请记住,一旦发布COM接口,您的用户永远不会“假定”更改它。

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


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

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

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

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

如果因为您只有一个接口而必须实现这些方法,那么您必须使用这些方法。你可以让这个方法什么都不做,但是这对用户来说是无用的,而且可能是危险的,因为用户可能试图把椅子从车上踩开,这样他就不会被车撞到。或者,您可以抛出一个异常。这会很奇怪,因为用户会想知道为什么该对象不能向前踏板


因此,如果一个接口中有太多的方法,那么除了类的存在,您没有按照使用COM的方式利用COM。

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

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

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

如果因为您只有一个接口而必须实现这些方法,那么您必须使用这些方法。你可以让这个方法什么都不做,但是这对用户来说是无用的,而且可能是危险的,因为用户可能试图把椅子从车上踩开,这样他就不会被车撞到。或者,您可以抛出一个异常。这会很奇怪,因为用户会想知道为什么该对象不能向前踏板


因此,如果一个接口中有太多的方法,除了上帝类的存在,你没有按照COM的使用方式利用它。

问这个问题会让你的设计听起来至少有点可疑。问这个问题会让你的设计听起来至少有点可疑。