5

ASP.NET MVC 已经在这个论坛上讨论过几次。我即将对几个网站从经典的 ASP/ASP.NET WebForms 到 ASP.NET MVC 进行大规模迁移,并且想知道在这两种技术方面有经验的人有什么建议。

我所拥有的:一个典型的 ASP.NET 应用程序,具有高度耦合的表示/业务逻辑,各种杂乱无章的 ASP.NET 生成的 Javascript 杂乱无章,等等。

我想要什么:清理 ASP.NET MVC 生成的不可知标记。'纳夫说。

有什么需要注意的提示、提示、技巧或陷阱吗?

谢谢!

4

4 回答 4

3

哇,我不确定我们是否在这里谈论迁移 - 不同之处更像是重写!


正如其他人所说,MVC 是一种构建 Web 应用程序的全新方式——您的大部分演示代码都不会被继承。

但是,如果您在 MVC 中重写,那么您已经拥有的是一个好的原型。您的问题很可能是很难一点一点地做——例如 MVC 使用开箱即用的 URL 重命名,使得来回链接相当混乱。

另一个问题是为什么?我们中的许多人都有庞大的遗留应用程序,我们希望采用最新技术,但如果您的应用程序已经在工作,为什么要切换?

如果我现在正在研究一个新的应用程序,MVC 将是一个非常强大的候选者,但没有足够大的收益在项目后期切换到它。

于 2008-08-17T16:25:40.573 回答
2

有什么需要注意的提示、提示、技巧或陷阱吗?

好吧,我认为你可能离思考技巧和陷阱还有一点距离:) 我相信你知道,ASP.NET MVC 不是 ASP.NET 的某个新版本,而是完全不同的范式ASP.NET,您不会迁移,您将启动全新的开发工作来替换现有系统。因此,也许您可​​以帮助确定应用程序的需求,但其余的可能会从头开始重新构建。

根据您在现有代码库中描述的(非常常见的)问题,您应该考虑借此机会学习一些当前设计松散耦合系统的最佳实践。这很容易做到,因为现代“最佳实践”易于理解和实践,并且有巨大的社区支持和高质量的开源工具在此过程中提供帮助。

我们此时也在将 ASP/ASP.NET 应用程序迁移到 ASP.NET MVC,无论如何,这是我的预备研究得出的结论。

这是一篇关于使用 ASP.NET MVC 的链接的帖子,但我将从阅读这篇文章开始。这篇文章表面上是关于 NHibernate(一个 ORM 工具)的,但讨论和链接是关于打好基础的,是准备将 ASP.NET 站点移植到 MVC 的结果。该帖子中链接的一些参考架构基于 ASP.NET MVC。这是关于 NHibernate 的另一篇文章,但在“最佳实践和参考应用程序”部分列出的大多数(如果不是全部)参考应用程序也是 ASP.NET MVC 应用程序。参考体系结构对于快速了解如何设计最佳、可维护的 ASP.NET MVC 站点非常有用。

于 2008-08-17T17:01:50.593 回答
1

WebForms 可以在同一个应用程序中与 MVC 控制器一起使用。默认情况下,路由不会路由对磁盘上存在的文件的请求。因此,您可以开始一次重写站点的一小部分以使用 MVC 模式,而将其余部分使用 WebForms。

于 2008-08-28T03:07:46.500 回答
0

我的观点是,这两种技术是如此不同,以至于如果您在原始 Web 窗体应用程序中有紧密耦合的代码,那么最好的方法是首先选择其中一种,然后通过创建一个新的 ASP.NET MVC 应用程序并删除它来转换它代码到各自的层。这将使您走上移植其他应用程序的重用之路。

于 2008-08-17T16:49:18.980 回答