我们正在开发一个使用客户端 - 服务器架构的企业应用程序。它基于.NET Framework 3.5,客户端是一个丰富的WinFom应用程序,整个系统处于Beta测试阶段。我们需要通过网络公开这个系统的一些功能。当前的桌面客户端应用程序对服务器的调用次数最少,但它具有相对中等到高的数据传输量。
目前,基本思想是使用ASP.NET Web Forms或ASP.NET MVC为我们的系统创建前端层。我们对ASP.NET MVC没有太多经验,但这项技术看起来非常有趣且充满希望(至少对我而言)。
我的问题是:
答案 0 :(得分:2)
如果您现在想要使用ASP.NET MVC Framework(目前处于测试阶段),您会遇到某些功能会破坏的版本更改风险。您可能需要将此作为维护问题。
ASP.NET MVC Framework还要求软件开发人员习惯使用模型 - 视图 - 控制器“模式”。如果开发者不同意如何在三个层之间进行交互,那么有许多陷阱。
除非您有程序员可以使用此功能,否则您可能需要考虑使用Web窗体。有大量文档和资源可用于Web窗体,但必须在博客中搜索MVC框架以及project homepage上提供的小文档。
我自己一直在研究ASP.NET MVC框架测试版,我可以说它到目前为止一直很棒。但它对我有用的原因是因为我之前一直在修改其他MVC框架,例如Ruby on Rails。
答案 1 :(得分:1)
这些问题始终是难以回答的问题,因为每个项目都是不同的,并且总是有多种因素可以做出技术选择。但是听起来,在这种情况下,像Web Forms一样“已知”,而MVC是“未知的”,所以在不知道更多的情况下,你已经有了一些需要克服的障碍。
从这个角度来看,这些量表可能会向Web Forms倾斜。他们是经得起考验的,也是真实的,规则而不是例外,所以虽然我理解学习新东西的愿望,但如果你按计划进行,产品需要坚实,那么他们可能是更负责任的选择。听起来像你正在学习[MVC]并同时开发,这对于个人项目来说很好,但对于企业项目,或任何客户的任何项目,它都在寻找麻烦:它可能需要,比如说使用未知(或鲜为人知的)技术构建项目的时间延长50%,甚至更多,并且假设您从第一天起就没有完全理解它,那么您将学习沿途的课程。可能会增加对最终重构的需求,仅仅是因为你逐渐而不是提前“获取它”。
因此,如果它是一个重要的项目,并且需要正确完成,并且您对Web窗体感到满意并且感觉您很了解它们,那么答案可能就是Web窗体。在较小的东西上学习MVC,不那么重要。贵公司将感谢您为他们做出正确的选择。 :)