Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在webforms应用程序上实现MVP模式是否可以更容易地过渡到MVC?_Asp.net Mvc_Webforms_Mvp - Fatal编程技术网

Asp.net mvc 在webforms应用程序上实现MVP模式是否可以更容易地过渡到MVC?

Asp.net mvc 在webforms应用程序上实现MVP模式是否可以更容易地过渡到MVC?,asp.net-mvc,webforms,mvp,Asp.net Mvc,Webforms,Mvp,由于MVP模式在webforms应用程序中允许更多的可测试性和一些重用性,我认为这将是迁移到MVC的好的第一步(webforms的代码在codebehind中,没有模式)。当我用MVP的内部结构刷新自己时,情况似乎并非如此。任何人都有使用这种方法的经验。将MVC添加到项目中并开始移植页面/视图会更好吗 注意:我有动态注入控件的webform应用程序,将页面数量保持在4页或更少(单页webforms应用程序)。最好直接移植到MVC,IMHO,原因如下: 学习和规划MVP部分,然后迁移到MVC,需

由于MVP模式在webforms应用程序中允许更多的可测试性和一些重用性,我认为这将是迁移到MVC的好的第一步(webforms的代码在codebehind中,没有模式)。当我用MVP的内部结构刷新自己时,情况似乎并非如此。任何人都有使用这种方法的经验。将MVC添加到项目中并开始移植页面/视图会更好吗


注意:我有动态注入控件的webform应用程序,将页面数量保持在4页或更少(单页webforms应用程序)。

最好直接移植到MVC,IMHO,原因如下:

  • 学习和规划MVP部分,然后迁移到MVC,需要花费很多额外的时间。如果您直接迁移,那么所需的学习/规划时间就更少了
  • ASP.NETMVC是一个专门的框架,大多数MVP实现都使用web表单,因此它比视图更接近于使用web表单
我们在工作项目中使用MVP。迁移我的项目会更容易,但我更愿意为最终产品而努力,而不是使用迁移步骤。。。IMHO说,这样一来,总的来说时间会更短,成本也会更低


HTH.

如果需要,适当分离关注点应该会使转换更容易

MVC框架仅适用于web应用程序,而MVP更具通用性,可用于web窗体和Windows窗体-视图实现演示者使用的界面,视图本身处理与导航相关的实现细节

您说您动态插入控件。如果您这样做是为了让UI由可重用和自给自足的组件组成,那么这一原则在MVC中并不适用-那里的控制器希望对页面拥有完全的权限,而在MVC上实现这一点将导致子操作、部分视图和视图模型共享的混乱

在我看来,MVP+Web表单最适合于页面高度模块化且具有互连组件的企业Web应用程序,MVC-适用于页面对应于具有域对象(通常为CRUD)的单个操作或更适合阅读的一般Web站点