0

我们的新应用程序 1) Web 应用程序 (MVC3) 2) Web 服务需要通过互操作与我们基于 COM 的业务层进行通信

我们计划在 .Net 中为业务层创建一个包装器,以将 COM dll 从上述 2 中分离出来,以便我们有一个地方(包装器)来进行任何增强或完全将 COM 替换为其他东西。

          For eg: if there is a COMClassA and ICOMClassA. create a new WrapperClassA in .Net which will essentially have an instance of the COMClassA and required properties. 

在 Web 应用程序和 Web 服务中使用 WrapperClassA

我的问题 1)这是正确的方法吗?2) 如果是这样,创建 .Net Wrapper 的最佳方法是什么。
COM dll 有大约 100 多个类和相应的接口。任何代码生成技术?
3)我们可以使用一些设计模式来最小化代码生成还是有任何其他替代方案来解耦基于 COM 的业务层

请注意:我们不想在 ASP .Net 应用程序中创建 Web 服务和消费,因为我们认为可能存在相当大的性能问题。

任何帮助将不胜感激。Stackoverflow 社区你做得很好。

TIA

4

1 回答 1

0

大卫惠勒 -

计算机科学中的任何问题都可以通过另一层间接来解决。

我同意您问题中的以下陈述:

我们计划在 .Net 中为业务层创建一个包装器,以将 COM dll 从上述 2 中分离出来,以便我们有一个地方(包装器)来进行任何增强或完全将 COM 替换为其他东西。

这使您可以“挑选”您的问题区域、重写区域或保留区域。我几乎可以保证你的 COM 组件中至少有一个执行了一些黑魔法……五年前由某个前顾问或前雇员写的……哈哈

不幸的是,据我所知,您将不得不手动编码/设计您的间接层(或层)。但是,一些 VS.NET(以及 Resharper 和 CodeRush)重构/自动生成方法会对您有所帮助。但归根结底,比任何人(或任何工具)都更了解您的产品(和设计)。

于 2012-05-11T14:44:31.577 回答