【问题标题】:Tips on building front-end for application that utilises COM为使用 COM 的应用程序构建前端的技巧
【发布时间】:2010-11-22 11:48:14
【问题描述】:
我正在构建一个与正在运行的应用程序交互的 WinForms 应用程序。此应用程序接受 COM 命令以与活动实体(对象)进行交互。
我的问题是;编写这样一个应用程序的最佳方法是什么(设计/架构方面)?我不需要编写类/接口来表示现有应用程序对象模型中描述的实体。到目前为止,我只有 Visual Studio 为我创建的表单类(及其设计器类),其中包含我的所有逻辑.. 有什么建议?我从来没有真正实现过MVC/MVP,是这样的吗?
【问题讨论】:
标签:
c#
winforms
architecture
com
【解决方案1】:
免责声明:我一生中从未针对 COM 对象进行开发。
问题:您正在构建的 WinForms 应用程序和它正在调用的基于 COM 的应用程序之间的关系是什么?
在架构上,如果 Winform 应用程序比 COM 应用程序存在的时间更长,那么您将希望在 WinForm 应用程序和 COM 应用程序之间使用某种形式的抽象 - 这样当 COM 应用程序消失时用任何替换 COM 应用程序的方式重用 WinForm 应用程序并不难。
如果 WinForms 应用程序存在的原因是 COM 应用程序,那么它可能不值得(但无论如何我几乎倾向于)。
在最基本的层面上,将一个新的类库添加到您的 WinForm 解决方案中,并将所有 com 依赖项和代码放入其中;然后,您的 WinForm 应用程序将引用此项目。如果你想更整洁,你可以使用接口、依赖反转等。