有没有理由提供COM服务器来包装原子类型和普通接口

有没有理由提供COM服务器来包装原子类型和普通接口,com,Com,我刚开始玩COM。和我的C/C++程序员同事一样,我发现COM丑陋有很多实际原因,直到我阅读和理解它的那一刻。如果COM是关于互操作性的,那么COM应该保持在任何实现的边缘是有意义的。我认为这是一个很好的做法 然而,我和一个家伙讨论了如何实现我正在处理的一段代码(调查堆损坏问题)。而且他似乎不赞成将COM置于边缘的概念。他仍然列举了为所有人和任何人提供COM接口的好处。所以 在实现中处处使用COM真的是一种糟糕的设计吗? PS:在我正在进行的实现中,所有东西都是COM服务器。有:ComNode、

我刚开始玩COM。和我的C/C++程序员同事一样,我发现COM丑陋有很多实际原因,直到我阅读和理解它的那一刻。如果COM是关于互操作性的,那么COM应该保持在任何实现的边缘是有意义的。我认为这是一个很好的做法

然而,我和一个家伙讨论了如何实现我正在处理的一段代码(调查堆损坏问题)。而且他似乎不赞成将COM置于边缘的概念。他仍然列举了为所有人和任何人提供COM接口的好处。所以

在实现中处处使用COM真的是一种糟糕的设计吗?


PS:在我正在进行的实现中,所有东西都是COM服务器。有:
ComNode
ComProperty
ComString
,甚至还有
ComReal
ComInteger

添加一些idl示例,让您的问题更清楚。还有自动化兼容类型。如果您的所有类型都是自动化兼容的,那么互操作和编组通常会变得容易得多。整数和BSTR是自动兼容的。@xMRi如果我的问题不清楚,很抱歉。实际上,没有与我的问题相关的代码。我只是想知道COM编程是否是我所理解的。我没有理由为接口整数提供COM服务器。只要这些整数是长的或短的(C++),我也看不到定义ComInteger类的理由。此外,如果不能将两个整数相乘,那么在VB脚本中使用这样一个com接口几乎是不可能的。我认为目前没有理由在一个类中隐藏int值,只要它不是一个具有特殊含义和行为的类。添加一些idl示例以使您的问题更清楚。有自动化兼容类型这样的东西。如果您的所有类型都是自动化兼容的,那么互操作和编组通常会变得容易得多。整数和BSTR是自动兼容的。@xMRi如果我的问题不清楚,很抱歉。实际上,没有与我的问题相关的代码。我只是想知道COM编程是否是我所理解的。我没有理由为接口整数提供COM服务器。只要这些整数是长的或短的(C++),我也看不到定义ComInteger类的理由。此外,如果不能将两个整数相乘,那么在VB脚本中使用这样一个com接口几乎是不可能的。我认为目前没有理由在类中隐藏int值,只要它不是一个具有特殊含义和行为的类。