我已经用ASP.NET Webforms开发了几年的web应用程序,我仍然喜欢它,最重要的是因为它提供了RAD的可能性。两年来,ASP.NET MVC已经成为经典ASP.NET的直接竞争对手。不知怎么的,我不想抛弃所有的Webforms体验,转而使用ASP.NET MVC。原因之一是,我也处理桌面应用程序开发和ASP.NET Webforms更类似于它。
现在我发现ASP.NET开发有第三种方法:ASP.NET MVP:http://webformsmvp.com/
有没有人有过这种第三种ASP.NET的经验?
这是微软的一种官方方法吗?
值得更详细地研究一下吗?
这是两个ASP.NET“世界”的很有前途的组合吗?
发布于 2010-07-10 22:32:04
这显然是一个主观的观点,这取决于你正在解决的特定问题。
如果您有一个简单的应用程序,这将不需要大量的持续维护,而且在这里演示快速结果很重要,我认为使用MVP是有意义的,因为您提到了充分利用团队技能集和RAD的原因。
对于更复杂的事情,我不认为这是个好主意。正如您所提到的,MVP类似于桌面GUI模型;ASP.NET MVC是为web的请求响应特性而设计的。视图体系结构,特别是EditorFor和DisplayFor的引入,被优化为用于从模型中提取数据的模板。
从可测试性的角度来看,MVC在允许您对小型组件进行单元测试方面做得很好。我认为MVP会让你失去很多好处,因为MVP和推荐人的关系更加紧密。从本质上讲,MVC采用了“低端对话”模式的概念,该模式寻求最小化UI代码,因为它本身是不可测试的。(ASP.NET) MVC还支持网络,生成干净的HTML,设计成使用javascript (jquery)进行样式和扩展。我认为MVP鼓励您将视图视为“小部件”的画布,这似乎总是最终产生必须与之斗争的标记。
最后,我认为,每当您使用支持一种方法(MVC)并稍微修改它(MVP)的平台时,您最终会游向上游。您无法利用自然围绕主流方法建立的建议、文章和技术开发。例如,就我个人而言,我宁愿使用带有MVC的备用视图引擎来代替WebForms引擎。但我没有这么做是因为这是不标准的。有时候“标准”会更好。
https://stackoverflow.com/questions/3220953
复制相似问题