由于MVP模式允许更多的可测试性和webforms应用程序中的一些重用,我认为这将是转移到MVC for legacy的良好的第一步(带有代码隐藏的代码的webforms,没有模式)。当我用MVP内部结构刷新自己时,它似乎并非如此。任何人都有使用此方法的经验。将MVC添加到项目并开始移植页面/视图会不会更好?
注意:我有动态注入控件的webform应用程序,将页面数量保持在4或更低(单页面webforms应用程序)。
答案 0 :(得分:2)
如果需要,正确分离关注点应该会使转换变得更容易。
MVC框架仅适用于Web应用程序,而MVP可以更通用,可以用于Web表单和Windows表单 - 视图实现了演示者使用的界面,视图本身处理与导航相关的实现细节。
你说你动态插入控件。如果你这样做是为了让UI由可重用和自足的组件组成,那么这个原理对MVC不起作用 - 控制器希望对页面拥有完全的权限,并且在MVC上实现它会导致一系列子动作,部分视图和视图模型共享。
在我看来,MVP + Web窗体最适合企业Web应用程序,其中页面高度模块化,具有互连组件,MVC - 用于一般网站,其中页面对应于具有域对象的单个操作,通常是CRUD或已优化更多的阅读。
答案 1 :(得分:1)
最好直接移植到MVC,恕我直言,原因如下:
我们在工作中使用MVP。要迁移我的项目会更容易,但我宁愿为最终产品拍摄而不是使用迁移步骤......总体来说会减少整体时间并降低成本,恕我直言。
HTH。