写点什么

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

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

关注

评论

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

手把手教你用Java获取IP归属地

Jeremy Lai

IP地址

CleanMyMac X2023第三方mac系统清理软件

茶色酒

CleanMyMac X CleanMyMac X2023

小程序正式版报错600002 url not in domain list

Jeremy Lai

小程序

商务部研究院信用所、启信宝联合发布《中国商务信用发展指数报告(2022)》

合合技术团队

人工智能 大数据 商业

嘉为蓝鲸IT服务管理中心V3.0正式发布,实现IT服务管理体系新升级!

嘉为蓝鲸

运维 嘉为蓝鲸 IT服务

MySQL索引的底层数据结构原理剖析(二叉树、 红黑树、Hash、B-Tree、B+Tree)

C++后台开发

MySQL 数据结构 后端开发 底层原理 C++开发

字节一面:说说TCP的三次握手

Jeremy Lai

三次握手 TCP协议

腾讯发布数字政务核心产品体系,多方位助力政府数字化转型

科技热闻

EMQ助力阿里云飞天洛神云网络构建新一代“亿级并发、百万级吞吐”NLB网络型负载均衡系统

EMQ映云科技

阿里云 物联网 IoT mqtt 12 月 PK 榜

嘉为蓝鲸WeOps荣获“2022年度行业科技创新产品”

嘉为蓝鲸

运维 嘉为蓝鲸 #WeOps

详解ConCurrentHashMap源码(jdk1.8)

Jeremy Lai

ConcurrentHashMap 源码阅读

深入理解Redis 数据结构—字典

Jeremy Lai

字典 redis 底层原理

腾讯云升级云端 IDE Cloud Studio,助力开发“化繁为简”

科技热闻

Spring Cloud 整合 nacos 实现动态配置中心

Jeremy Lai

nacos 动态配置

干货 | 五大关键点,帮助企业快速构建可落地的IT服务管理体系

嘉为蓝鲸

运维 嘉为蓝鲸 IT服务

友元、异常和其他

Maybe_fl

详解MySQL隔离级别

Jeremy Lai

隔离级别

阿里云ECS后台CPU占用100%,top却找不到

Jeremy Lai

cpu 100% 阿里云;

应用瓴羊Quick BI数据分析,实时掌控企业运营数据

对不起该用户已成仙‖

MySQL更新锁表超时 Lock wait timeout exceeded

Jeremy Lai

事务隔离 Mysql死锁

融云&艾瑞发布《政企数智办公平台行业研究报告》,解读数智化时代的办公新趋势

融云 RongCloud

即时通讯 办公 数智化

超简单的CDH6部署和体验(单机版)

程序员欣宸

大数据 hadoop CDH 12月月更

2022腾讯Techo前沿技术论坛召开,六位科学家分享前沿科学成果

科技热闻

Centos7安装Nginx教程,一步安装http和https

Jeremy Lai

nginx Linux安装

中国视频云进入“出海”时代,腾讯云音视频发布海外专门品牌及新产品

科技热闻

干货 | 企业如何快速采集分析日志?

嘉为蓝鲸

运维 嘉为蓝鲸

PID和TID的区别

源字节1号

软件开发 前端开发 后端开发 小程序开发

AI 作画领域中的“神笔马良”是怎样炼成的?

行者AI

后端程序员实现一个IP归属地的小程序

Jeremy Lai

Seata 环境搭建

Jeremy Lai

分布式事务 seata

Web3时代到来,腾讯云助力产业提效和互联网创新

科技热闻

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