ASP.NET MVC - 小型网络服装是否可行?

时间:2009-01-12 17:56:23

标签: asp.net-mvc

我在一家小型网站公司(一对程序员,几位设计师)工作。目前我们使用ASP.NET网站项目 - 这使我可以轻松地在本地计算机上对编程进行排序,而设计人员直接在开发服务器上工作,并且“即时”编译允许他们查看任何更改无需编译和部署网站(并且全部与SVN捆绑在一起)。

我想开始使用ASP.NET MVC几乎所有的原因使它与Webforms(逻辑URL,没有viewstate,更多控制html,单元测试等)不同但是不想使开发过程变得复杂,所以:

  • 您不能将MVC网站设置为网站项目而不是应用程序的任何原因,因此不必在整个开发过程中明确编译它们? (无论如何,我们的'直播'网站都使用网络编译项目。)
  • 这仍然允许进行单元测试吗?
  • 是否有其他方式允许设计师以与目前相同的方式开发MVC网站?注意:他们使用Dreamweaver,因此没有Cassini开发服务器。

任何人都可以提出上述任何建议(即使只是告诉我我的开发过程毫无意义.. :)

感谢。

3 个答案:

答案 0 :(得分:5)

我曾经是一名ASP.NET开发人员。最近我开始使用Django进行开发,并通过SVN与另一位开发人员进行远程开发。我发现MVC框架使小项目变得更加容易,而大型项目比旧式ASP.NET更加痛苦。

模板比ASP.NET中的Web控件更容易控制和样式。逻辑分离(除了代码隐藏方法之外)使得不止一个人可以更容易地同时处理站点的不​​同部分。在处理ASP.NET页面生命周期问题足够长的时间之后,以动作为中心的RESTful设计开始变得更有意义。此外,URL驱动的路由和反向查找功能意味着代码中的硬编码链接更少,更容易向网站添加新的部分等。

回答你的一些问题:

  • 我不确定实时编译,但它很容易编写一些简单的部署工具来自动执行此过程。
  • 由于控制器中的操作更好地划分逻辑,因此在MVC框架上进行单元测试通常更容易。
  • ASP.NET MVC允许您使用webforms作为默认模板语言,但我建议您研究更清晰的模板语言,例如NVelocity。任何以HTML为中心的模板系统都会比webforms更好,因为即使是简单的Web控件也很难驯服和设计。

答案 1 :(得分:5)

无论什么类型的项目,ASP.NET MVC都是一个很棒的平台。如果你已经了解了HTTP的基础知识以及网站的实际工作方式,那么ASP.NET MVC就像你生活中缺少的那样。如果你已经习惯了ASP.NET WebForms的回发模型,那么最初可能会有点难以掌握,但很容易低估。它基本上是一个无状态模型。你的控制器给出了一些参数,它会回写一些HTML ......故事的结尾直到下一个请求。

  • 我不这么认为,我认为这样做的原因是允许可部署bin的ASP.NET MVC项目。您可以直接从Visual Studio 2008发布ASP.NET MVC应用程序,而终端服务器甚至不必了解ASP.NET MVC,只要它具有ASP.NET 3.5(我认为使用SP1)
  • ASP.NET MVC是关于单元测试的,它在这个问题上非常灵活,甚至ASP.NET MVC背后的一些设计决策都是基于允许用户对其代码进行单元测试。 Scott Guthrie在最新版本的ASP.NET MVC(beta)http://weblogs.asp.net/scottgu/archive/2008/10/16/asp-net-mvc-beta-released.aspx#six
  • 中专门命名单元测试
  • 任何与ASP.NET WebForms一起使用的控件都可以与ASP.NET MVC一起使用,只要它不依赖于回发即可。如果确实如此,则无法使用该控件/代码。

MVC是一个经过验证的网站设计模式,甚至您发布的问题基于ASP.NET MVC并且仅由少数人构建,现在由1(一)人维护(很快就会成为2)。我目前正在将它用于3个私人项目,我喜欢它。我见过光明,我永远不会回到WebForms。

资源:

HTH!

答案 2 :(得分:1)

此站点使用MVC。我认为StackOverflow背后的团队有资格成为一家小商店。他们有很多经验。考虑到有多少人(少数人)和服务器数量,是的,它很小。在我看来,它运行得非常好。