C#设计选择 - COM对象还是另一个类?

时间:2013-08-08 17:56:32

标签: c# c++ architecture com

现有软件使用C ++将通信层编码为单个对象。 Microsoft COM对象用于将通信对象连接到UI的上层。它使用COM对象公开接口。

新软件要求我创建一个与现有通信对象完全不同的完全不同的通信对象。我可以选择在C#中将其编码为单独的类,也可以创建另一个COM对象并重用一些C ++代码来创建对象。

作为C本地人,我想在决定如何进行未来的软件更改之前听取您的意见。我觉得如果我创建另一个COM对象,似乎没有必要,因为上层的C#类可以处理它。但后来我重新使用了一些代码。

谢谢!

1 个答案:

答案 0 :(得分:1)

  

我觉得如果我创建另一个COM对象,似乎没必要,因为上层的C#类可以处理它。但后来我重新使用了一些代码。

这里没有正确答案。如果重复使用量很大,那么坚持使用COM的“遗留”方法可能是一个合适的选择。

如果您要重复使用5%的代码,并且必须从头开始实施绝大部分代码,那么更简单的API(只需将所有内容放在C#层中)可能是更好的选择。

话虽如此,完全由您和您的团队决定最佳前进方向。通常,使用COM会使整体设计变得更加复杂,因此需要根据现有代码的可重用性对成本/收益分析进行加权。