写点什么

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

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

关注

评论

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

Pandas教程-3-DataFrame数据筛选(上)

Peter

Python 数据分析 pandas

Application.mk

Changing Lin

9月日更

RISC-V工具链简介

Roy夹馍

物联网 risc-v 嵌入式开发

遭GitHub封杀!百万人竟跪求这份阿里内部Java面试手册

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

我靠!都金三银四了还有人没看过阿里这份Java面试核心手册?

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

Pandas教程-4-DataFrame数据筛选(中)

Peter

Python 数据分析 pandas

玄铁VirtualZone:基于RISC-V架构的安全扩展

Roy夹馍

cpu 物联网 嵌入式开发

终于有阿里P8从开发、运维两个角度总结出了Redis实战手册

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

合约量化策略系统搭建,合约策略交易软件开发

元宇宙基础设施提供商【时空云】将承办【博鳌亚洲论坛区块链分论坛】

时空云

分布式存储 IPFS Filecoin 元宇宙

一文看懂RISC-V代码密度

Roy夹馍

物联网 risc-v 嵌入式开发

谈谈PhxSQL的设计和实现哲学(上)

OpenIM

源码 | 解析 Redo Log 实现方式

RadonDB

MySQL 数据库 RadonDB

中断实时性及处理技术简介

Roy夹馍

物联网 risc-v 嵌入式开发

震撼!多名阿里资深专家联合撰写深入理解Redis设计源码手册

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

二叉树层次遍历及应用

高性能架构探索

面试 二叉树 遍历

微信朋友圈高性能复杂度架构设计

Imaginary

极狐GitLab 和 ArgoCD 的集成实践

极狐GitLab

Kubernetes gitlab 极狐GitLab ArgoCD

Paxos理论介绍(2): Multi-Paxos与Leader

OpenIM

硬科技热度有增无减,现在入局能否搭上赛道快车?

创业邦

支持HDMI-IN接口的安卓工控主板有哪些?

双赞工控

【GaussDB精品课第1期】GaussDB(for openGauss)数据库,打造自研世界级产品

华为云数据库小助手

GaussDB 课程 GaussDB(for openGauss) 华为云视频 华为云数据库

Pandas教程-2-10种方式创建DataFrame

Peter

Python 机器学习 pandas

谈谈PhxSQL的设计和实现哲学(下)

OpenIM

拒不外传!阿里内部耗重金找人总结出这份并发编程手册(全彩版)

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

炸裂!阿里十年老兵总结出SpringCloud入门到实战手册

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

Pandas教程-1-Series类型数据

Peter

Python 数据分析 pandas

源码大放送:基于Pyecharts的苏州旅游攻略

Peter

Python 数据分析 爬虫

第一波场DAPP系统搭建|DAPP介绍

Geek_23f0c3

DAPP智能合约交易系统开发 波场链DAPP开发 第一波场

史上最强!这份在各大平台获百万推荐的Java核心手册实至名归

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

上线几小时下载量破百万!无价的这份阿里并发编程图册就这么强势

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

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