2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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:532497
用户头像

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

关注

评论

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

【架构实战营】模块四作业

Abner S.

架构实战营 #架构实战营

最后的作业-秒杀设计

大肚皮狒狒

[架构实战营]模块四作业

xyu

#架构实战营

模块4作业

柱林

架构实战营模块4作业

喻高咏        

架构训练营

毕设:设计电商秒杀系统

ifc177

毕业设计

CR

架构实战营 毕业设计

iProcess

架构实战营

[架构实战营][模块四作业]

KK_TTN

架构实战营

架构实战营总结

chenmin

【架构训练营】模块四作业

zclau

架构实战营 - 模块 4- 设计千万级学生管理系统的考试试卷存储方案

蔸蔸

二维码批量生成下载工具

入门小站

工具

架构实战营 模块四作业

三叔叔_拖延症晚期

模块四作业

VE

架构实战营

设计千万级学生管理系统的考试试卷存储方案

木云先森

架构训练营

大数据训练营一期 0801 作业

朱磊

合适即是王道

林建

7月日更总结

耳东@Erdong

个人成长 个人总结 8月日更

架构实战总结

华仔架构训练营

考试试卷存储方案

伏波

架构

iOS开发:上架遇到NSBluetoothAlwaysUsageDescription被拒问题(已解决)

三掌柜

8月日更 8月

架构实战营 毕业设计

TH

架构实战营

架构实战营 毕业总结

TH

架构实战营

《Financial Management 101》读书笔记

箭上有毒

8月日更

架构实战营第一期--模块四作业

clay

架构实战营

架构实战营1期第四模块作业——高性能高可用存储

tt

架构实战营

大数据训练营 -0801 课后作业

cc

Linux之route命令

入门小站

Linux

架构训练营毕业设计

Geek_e0c25c

架构实战营

架构训练营第 1 期 模块四作业

高远

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