asp.net webforms vs mvc,最适合业务应用程序

Mus*_*gdy 5 c# asp.net-mvc webforms asp.net-ajax

Diamonds 是一个基于Windows窗体的ERP,我将使用Web技术而不是Windows窗体重新开发它.

但现在我需要决定哪个最适合这个,ASP.NET webforms(我认为)更容易(设计)我的意思是UI,但mvc有更简单的html输出,以及一些其他功能......

你能帮我决定使用哪种技术,为什么?

我正在使用C#,

干杯

小智 6

如果您关心应用程序的可扩展性,易维护性,可伸缩性和健壮性,以及开发软件开发技能,那么请尽可能远离Web表单.

通过将所有内容包装在表单中来添加状态层的整个想法是错误的.HTTP是无状态的,MVC是围绕该模型构建的,这很好.

编辑 关于所做的评论.Web表单应用程序不可扩展,因为表示层,业务逻辑和数据访问代码(数据源)都驻留在代码后面.Web表单提供的控件仅适用于Web表单.这意味着您将无法将这些技能转移到其他Web开发框架.

最后,当然可以使用MVC编写一个紧密耦合的应用程序 - 总有一种方法可以破坏某些东西.对此没有任何争论.重点是MVC鼓励分离关注点和单一责任原则,当Web表单实际上将它从您身边带走时.

您还说过Web表单更容易.如果你一直使用它会更容易,并且与MVC相比它更快,但是,在长期运行中,MVC可能变得"更容易".观看www.asp.net/mvc上的几个视频.此外,您可能希望研究测试驱动的开发(单元测试).我不认为单元测试适用于Web表单,因为一切都紧密耦合.如果我错了,请纠正我.

我很想听听其他有两种框架经验的开发人员的意见.

  • 这个答案是现实的.你会看到人们支持论证的两个方面,但是很长一段时间webforms开发人员最近首先进入MVC,我可以诚实地说我再也不想写另一个Web表单应用了:) (3认同)

Jas*_*son 5

我认为在通过任何基础知识后,这两种技术都会变得有点复杂.以下是我在必须实现必须同时存在于MVC和WebForms主机中的项目时收集的一些简短意见.

WebForms积极因素:

  1. 产品的成熟度
  2. 在复杂的控制方面有很多第三方支持
  3. 有办法解决框架的遗留感觉方面(例如,WebForms MVP)

WebForms负面消息:

  1. 页面生命周期问题可能会让你感到愤怒; 复杂的Web应用程序有很多移动部件
  2. 使用依赖注入是"难以"使用/实现的
  3. 框架中有很多你无法控制的东西
  4. 当文档,网络,实验无法解答问题时,需要像Reflector这样的东西潜入反编译源.

MVC肯定:

  1. 关注点的大分离和依赖注入的支持
  2. 更多地控制这么多东西(即项目结构,mvc框架,渲染内容等)
  3. 您可以在asp.net 4安装之上xcopy部署您的应用程序以及mvc框架(即,到第三方托管服务提供商)
  4. JSON的原生支持
  5. 提供源代码(带注释!!),以便您在内部遇到问题时可以深入了解各种功能.
  6. 他们一直在使用工具进行带外发布,我相信计划在框架上这样做(?); 他们有一个期货项目以及来源,向您展示他们正在进行的一些方向,如果您愿意,可以使用哪些方向.

MVC否定:

  1. 可能需要一点时间来包装一个人的想法
  2. 没有多少第三方帮助者(没有控制); 那些存在的东西似乎没有WebForm那样复杂

就个人而言,由于控制,灵活性和透明的依赖注入支持,我是MVC的粉丝.也许你应该用这两种技术做一个小飞行员,看看你喜欢哪一种.祝好运并玩得开心点!