写点什么

Web Forms 拥抱 Model-View-Presenter

  • 2011-06-17
  • 本文字数:575 字

    阅读完需:约 2 分钟

纵然 ASP.NET Web Forms 也可以应用 MVC 风格的架构,但绝大多数的人都认为这两者之间的配合太糟糕。富客户端组件和 Web 窗体的有状态性与 MVC 模式相容得并不好。然而,开发人员仍然渴求 MVC 带来的分离与可测试性。开源项目 Web Forms MVP 正是试图做到这一点。

Web Forms MVP 的主要目标是——在仍然保持由使用富客户端控件所带来的高水平生产力的前提之下,像 ASP.NET MVC 一样提供尽可能多的控制。在最简单的情形下,Web Forms MVP 仅仅需要开发人员将他们的逻辑部分从后置代码(code-behind)的文件之中转移出来,放到 Presenter 里面。

Web Forms MVP 声称在组合页面方面尤其出色。Web Forms MVP 鼓励开发人员将页面分解成单独的可重用的组件,而不是一个单一页面与 action controller。每个组件都被认为是单独的视图,有与之相对应的 Presenter。Presenter 应该小、基本上相互独立,但他们也可以互相通信。

这个框架还内置了控制反转和依赖注入。其正式发布包含了集成 Castle 和 Unity 的库。其姐妹项目 Web Forms MVP Contrib ,还提供了对 Ninject、StructureMap 以及 Autofac 的支持。

由于大部分的逻辑转移到了 Presenter 里面,你可以像在其他框架下测试 controller 或者 view-model 一样,使用相同的技术对它们进行自动化测试。Web Forms MVP 的底层框架,大部分来自于 ASP.NET MVC 在一开始就引入的 System.Web.Abstractions 库。

2011-06-17 19:532467
用户头像

发布了 76 篇内容, 共 28.4 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营 - 第九周

袭望

JPA-技术专题-JPA&Hibernate注解

码界西柚

架构师训练营第九周学习笔记

一马行千里

学习 极客大学架构师训练营

Week5 一致性Hash

evildracula

学习 架构

第 9 周 997日记

Pyr0man1ac

架构师训练营 - week09 - 学习总结

lucian

极客大学架构师训练营

架构师训练营第五周作业

邢永春

第九周作业 (作业一)

Geek_83908e

架构师一期

第五周作业

hunk

极客大学架构师训练营

第 8 周 996日记

Pyr0man1ac

架构第九周总结

Geek_Gu

极客大学架构师训练营

架构师训练营第九周命题作业

一马行千里

学习 极客大学架构师训练营

第 05 周学习总结 [架构师训练营第 2 期]

Airship

极客大学架构师训练营

第五周总结

jizhi7

极客大学架构师训练营

【架构师训练营 1 期】第九周作业

诺乐

架构师训练营第二期 第5周总结

月下独酌

极客大学架构师训练营

架构师训练营第 2 期 第五周作业

月下独酌

极客大学架构师训练营

第五周作业总结

hunk

极客大学架构师训练营

第九周作业

文智

极客大学架构师训练营

架构师训练营第一期-第九周学习总结

卖猪肉的大叔

第 9 周 作业

Pyr0man1ac

架构师训练营第五周学习总结

邢永春

第9周作业

paul

第九周作业

熊桂平

极客大学架构师训练营

架构师训练营 - 第 9周课后作业 - JVM 垃圾回收原理

树森

架构师训练营 - week09 - 作业

lucian

极客大学架构师训练营

Architecture Phase1 Week9:Summarize

phylony-lu

极客大学架构师训练营

Architecture Phase1 Week9:HomeWork

phylony-lu

极客大学架构师训练营

第九周作业(作业二)

Geek_83908e

架构师一期

第 8 周 作业

Pyr0man1ac

架构第九周作业

Geek_Gu

极客大学架构师训练营

Web Forms拥抱Model-View-Presenter_.NET_Jonathan Allen_InfoQ精选文章