我可以与WinForms应用程序共享ASP.Net MVC的控制器吗?

时间:2009-09-19 05:26:41

标签: asp.net-mvc winforms controller web-to-winforms

我正在使用MVC开发Web应用程序。

很多努力都在进入设计模型和控制器。

我知道我可以在winforms中重复使用模态。

但是我可以在winforms中重用控制器吗

1 个答案:

答案 0 :(得分:2)

如果我正确地阅读了这个并且你想在WinForms应用程序中使用你的控制器,那么答案就是(虽然几乎所有东西)它在技术上可能是你不可能想要的。

最大的问题是,使控制器有用的ASP.NET MVC的功能是在控制器周围的框架中实现的。这些功能支持视图,过滤器和控制器之间的信息流(仅举几例),并且不在不同组件之间显式传递。为了利用所有这些功能,你需要调整MVC框架或编写自己的东西来处理像ViewData和绑定这样的东西......不,只是没有。也许如果你的控制器足够简单......我在说什么?只是不要这样做。

更好的解决方案是将要重用的逻辑重构为业务层或其他常见程序集,并将其包含在两个项目中。如果您的控制器编写得很好,那么开头的代码就不多了,所以重新使用它们并不会节省太多。我从this book了解到这一点,并且在对几个项目提出建议之后,我们已经同意了这一点。基本原因是您的控制器应该用于控制应用程序的流程以及UI和应用程序其余部分之间的数据。它们不应该包含复杂的业务逻辑。

无论如何,这是我的2¢。