写点什么

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

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

关注

评论

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

对信用卡欺诈 Say No!百行代码实现简化版实时欺诈检测

沃趣科技

数据库表

VuePress 博客优化之中文锚点跳转问题

冴羽

typescript Vue 博客 vuepress 博客搭建

裸奔?哒咩!

IC男奋斗史

芯片技术

聊聊redo log是什么

程序猿阿星

Redo Log MySQL InnoDB

检测图片中是否有二维码

逆锋起笔

android 二维码 Android端 3月月更

我的奋斗:我在外企那些年(二)

IC男奋斗史

职业规划 芯片行业思考

润还是不润?这是个问题

IC男奋斗史

职业规划 芯片行业思考

这是我们的黄金时代

IC男奋斗史

职业规划 芯片行业思考 芯片技术

为什么需要线程池?什么是池化技术?

CRMEB

系统学习 TypeScript(五)——联合类型

编程三昧

typescript 前端 3月月更 联合类型

我是一名数学专业的应届博士,我该如何选择offer?

IC男奋斗史

职业规划

芯荒荒,汽车芯片路在何方

IC男奋斗史

芯片行业思考 芯片技术

为什么需要线程池?什么是池化技术?

王磊

面试

Redis现网那些坑:用个缓存,还要为磁盘故障买单?

华为云开发者联盟

redis 缓存 SSD 磁盘故障 缓存Redis

IC应届生40万白菜价!从业多年的资深专家手把手指导你如何选择offer!

IC男奋斗史

职业规划

芯片工程师太贵?贵你妹啊

IC男奋斗史

芯片行业思考

博文推荐|使用 Apache Pulsar 构建边缘应用程序

Apache Pulsar

开源 架构 分布式 云原生 Apache Pulsar

看到字节跳动28岁员工猝死,我都想润了......

IC男奋斗史

职业规划 芯片行业思考

iOS防截屏|担心App内容被截屏泄露吗?这个开源库就是你要的

LabLawliet

ios

李凌:6 年,我如何从开源小白成为 Apache 顶级项目 PMC

腾源会

开源 腾源会

Hoo虎符研究院|2022年三月值得关注的赛道

区块链前沿News

Web NFT 元宇宙 虎符交易所

华为,在行星的十字路口

脑极体

我的奋斗:我在外企那些年(一)

IC男奋斗史

职业规划 芯片行业思考

第三次“世界大战”——芯片保卫战,无烟的战场

IC男奋斗史

芯片行业思考

凤姐如何变冰冰?

IC男奋斗史

芯片技术

微博评论架构设计

刘洋

#架构实战营 「架构实战营」

PostmangRPC功能使用介绍

蜜糖的代码注释

gRPC 调试 Postman 3月月更

Redis 主从复制的原理及演化

百度开发者中心

Ember 速度最快、性能最高的渲染技术框架之一

devpoint

前端框架 ember.js

通过简书网学习 ActionChains,selenium webdriver 学习第3篇

梦想橡皮擦

Python 3月月更

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