快速业务通道

ASP.NET MVC Framework与WCSF中MVP模式的比较

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20
Controller和 Presenter

ASP.NET MVC Framework中,一个View在整个应用程序中可以被多个Controller所调用。

public class PostController : Controller
{
  [ControllerAction]
  public void New()
  {
    RenderView ("New");
  }
}
public class BlogController : Controller
{
  [ControllerAction]
   public void New()
  {
    RenderView("New");
  }
}

MVP中一个View在整个应用程 序中只对应一个特定的Presenter:

public partial class Products_ProductDetail : Page, IProductDetail
{
   private ProductDetailPresenter _presenter;
  protected void Page_Load(object sender, EventArgs e)
  {
     if (!this.IsPostBack)
    {
      this._presenter.OnViewInitialized();
    }
     this._presenter.OnViewLoaded();
  }
  [CreateNew]
  public ProductDetailPresenter Presenter
   {
    set
    {
      this._presenter = value;
      this._presenter.View = this;
    }
  }
}

对开发过程的影响

在ASP.NET MVC Framework中,采用行内代码进行数据呈现,逻辑集中在 Controller中,但是View无法完全交给UI设计人员完成。在MVP模式中,所有的业务逻辑交给Presenter去处理,这样View中代码就变得及其简 洁,将可以轻易的把开发人员和UI设计人员分开,如下图所示:

ASP.NET MVC Framework与WCSF中MVP模式的比较

对单元测试的支持

在单元测试方面的支持,ASP.NET MVC Framework在出现的时候就讲促进清晰的关注分离,可测试性和TDD。MVC Framewrok中的所以核心契约都是基于接口的,可以轻易地通过Mock来 模拟。可以不用在ASP.NET进程中运行控制器,就能进行单元测试。同时可以使用你想使用的任何单元测试框架来做单元测试,包括NUnit, MBUnit, MS Test等等。

MVP模式的出现,在一定程度上是为了便于UI的单元测试。由于所有的处理都放在了Presenter中,View中的代 码变得及其干净简单,所以可以很方便的进行单元测试,Web Client Software Factory中,提供了自动化项目指导包,可以直接创建测试项目 。

结束语

对于ASP.NET MVC Framework和WCSF中的MVP模式之小小比较,到这里就结束了,不管是ASP.NET MVC Framework还是WCSF中 的MVP模式,都是非常优秀的模型,值得我们更进一步去研究。

文章来源: http://terrylee.cnblogs.com

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号