1

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

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

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

谢谢!

4

1 回答 1

1

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

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

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

话虽如此,这完全取决于您和您的团队来确定最佳的前进方式。一般来说,使用 COM 会使整体设计变得更加复杂,因此需要根据现有代码的可重用性权衡成本/收益分析。

于 2013-08-08T18:01:20.260 回答