我在一家小型网站公司工作(一对程序员,几位设计师)。目前我们使用ASP.NET网站项目 - 这使我可以轻松地在本地计算机上对编程进行排序,而设计人员可以直接在开发服务器上工作,并且“即时”编译允许他们查看任何更改无需编译和部署网站即可完成(并且全部与SVN捆绑在一起)。
我想开始使用ASP.NET MVC几乎所有的原因使它与Webforms(逻辑URL,没有viewstate,更多控制html,单元测试等)不同但是不想让它成为开发者过程过于复杂,所以:
- 您不能将MVC网站设置为网站项目而不是应用程序的任何原因,以便它们不必在整个开发过程中明确编译? (无论如何,我们的'直播'网站都使用网络编译项目)。
- 这仍然可以进行单元测试吗?
- 有没有其他方式允许设计师以与他们目前相同的方式开发MVC网站?注意:他们使用Dreamweaver,因此没有Cassini开发服务器。
任何人都可以建议任何上述(即使只是告诉我我的开发过程毫无意义.. :)
谢谢。
无论什么类型的项目,ASP.NET MVC都是一个很棒的平台。如果你已经了解了HTTP的基础知识以及网站的实际工作方式,那么ASP.NET MVC就像你生活中缺少的那样。如果您已经习惯了ASP.NET WebForms的回发模型,那么最初可能会有点难以掌握,但很容易低估。它基本上是一个无国籍模型。你的控制器给出了一些参数,它会回写一些HTML ......故事的结尾直到下一个请求。
MVC是一个经过验证的网站设计模式,甚至您发布问题的是基于ASP.NET MVC并且仅由少数人构建,现在由1(一)人维护(很快将为2)。我目前正在将它用于3个私人项目,我喜欢它。我见过光明,我永远不会回到WebForms。
资源:
HTH!
我曾经是一名ASP.NET开发人员。最近我开始使用Django进行开发,并通过SVN与另一位开发人员进行远程开发。我发现MVC框架使小项目变得更加容易,而大型项目比旧式ASP.NET更难实现。
模板比ASP.NET中的Web控件更容易控制和样式。逻辑分离(除了代码隐藏方法)使得不止一个人可以更容易地同时在网站的不同部分上工作。在处理ASP.NET页面生命周期问题足够长时间之后,以动作为中心的RESTful设计开始变得更有意义。此外,URL驱动的路由和反向查找功能意味着代码中的硬编码链接更少,更容易向网站添加新的部分,等等。
回答你的一些问题:
- 我不确定实时编译,但它很容易编写一些简单的部署工具来自动化这个过程。
- 由于控制器中的操作更好地划分逻辑,因此在MVC框架上进行单元测试通常更容易。
- ASP.NET MVC允许您使用webforms作为默认模板语言,但我建议您研究更清晰的模板语言,例如NVelocity。任何以HTML为中心的模板系统都会比webforms更好,因为即使是简单的Web控件方面也很难驯服和设计风格。
该站点使用MVC。我认为StackOverflow背后的团队有资格成为一家小商店。他们有很多经验。考虑到有多少人(少数人)和服务器数量,是的,它很小。在我看来,它运行得很好。