写点什么

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

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

关注

评论

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

GTC 2024 火线评论:GPU 的高效存储利用

XSKY星辰天合

分布式存储 软件定义存储 GTC2024

AI力量:如何让测试更智能更高效

测吧(北京)科技有限公司

测试

OPPO案例 | Alluxio在Data&AI湖仓一体的实践

Alluxio

机器学习 模型训练 OPPO Alluxio #人工智能

【稳定性】从项目风险管理角度探讨系统稳定性

京东科技开发者

为什么都说 HashMap 是线程不安全的?

伤感汤姆布利柏

2024年,你还在开源自建监控系统?

可观测技术

监控 可观测性

一份关于2024年React初学者入门路线指南

高端章鱼哥

前端 js 前端框架 React

稳定性方法论:可灰度 & 可监控 & 可回滚

京东科技开发者

京东流水线——满足你对工作流编排的一切幻想

京东科技开发者

企业异地组网的挑战与解决方案

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

异地组网有哪些实现方式?为什么要选择SD-WAN?

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

从零开始学Spring Boot系列-集成Kafka

快乐非自愿限量之名

kafka Spring Boot 后端

外包服务 | 从人员外包到测试工具、测试平台,提供全方位的测试解决方案~

测吧(北京)科技有限公司

测试

技术领导力之路 - 正反馈

阿里技术

技术领导力 正反馈

金三银四 | 测试开发岗求职攻略来袭,快来抢先一步!

测吧(北京)科技有限公司

测试

一键解决App应用分发下载问题

绿色节能|AIRIOT智慧建材能耗管理解决方案

AIRIOT

物联网平台 智慧系统 智慧建材能耗管理

ETL的全量和增量模式

RestCloud

数据同步 ETL 增量同步 全量同步

使用JMeter从JSON响应的URL参数中提取特定值

EquatorCoco

Java 开发 url

AI大模型运维开发探索第三篇:深入浅出运维智能体

阿里云大数据AI技术

运维 智能体 大数据运维

有赞畅捷通T+对接无忧,业务体验双升级!

聚道云软件连接器

案例分享

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