写点什么

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

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

关注

评论

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

4000字深度总结!Pipeline五大性能实践,招招制敌

极狐GitLab

DevOps CI/CD 持续交付 pipeline 极狐GitLab

华为云数据灾备方案如何成为企业的坚实后盾

路过的憨憨

华为

华为云桌面,安全可靠的云上办公首选

路过的憨憨

华为

Opencv 图像处理:数字图像的必会知识

timerring

OpenCV 计算机视觉 10月月更

知识管理是团队的心脏,让企业管理更上一层楼

Baklib

文档 文档协同

华为云数据灾备方案,撑起一把企业的保护伞

路过的憨憨

华为

华为云数据灾备方案助力企业安全,守住企业底线

路过的憨憨

华为

Spring Boot 应用使用 application.yml 和 application.properties 的区别

汪子熙

Java mvc spring springboot 10月月更

Vuex在uniapp中的使用

孙铭

Vue vuex 10月月更

View层、Controller层、Service层、Dao层的区别以及对应的功能

孙铭

service DAO 10月月更

鸿蒙开发实例|分布式文件服务

TiAmo

华为 鸿蒙 10月月更

开发者原来都是健身猛男?

InfoQ写作社区官方

热门活动

Vue.nextTick核心原理

yyds2026

Vue

SegmentFault 思否发布开源问答社区软件 Answer

万事ONES

Java实现随机人名抽取

魏铁锤

10月月更

【LeetCode】分割数组Java题解

Albert

算法 LeetCode 10月月更

HTTP 常用的状态码及使用场景

孙铭

HTTP 10月月更 200

低代码无代码区别在哪?通过这5点来区别准没错

优秀

低代码 无代码

企业文档过多如何管理?文档协同能够帮到你

Baklib

文档 文档管理

大家都在“卷”的推荐系统还有进步空间吗?看技术大牛们怎么说

小红书技术REDtech

【愚公系列】2022年10月 Go教学课程 038-异常处理

愚公搬代码

10月月更

Zookeeper的服务器的log4j升级为log4j2的升级方案(忽略配置化兼容问题)

码界西柚

zookeeper

华为云灾备,保护企业信息数据势在必行!

路过的憨憨

华为

助力企业资源的合理利用,华为云数据库RDS for MySQL使用经济更省心!

路过的憨憨

“程”风破浪的开发者|我是如何快速学 Go 的?GoFrame 只用了 3 天时间就从小白变大佬?

王中阳Go

Go golang 学习方法 10月月更 “程”风破浪的开发者

云端软件运行,小程序安全沙箱技术为端侧安全保驾护航

Geek_99967b

小程序

Vue3, setup语法糖、Composition API全方位解读

yyds2026

Vue

1024里的小温暖,用技术让生活变得更美好!

阿里技术

1024程序员节

Java之抽象类

魏铁锤

10月月更

重磅丨九科被评为“2022年中国流程挖掘行业典型实践厂商” 实力再获“RPA中国”认可

九科Ninetech

RPA 流程挖掘 数智化转型

DevOps|1024程序员节如何做?介绍下我的思路

laofo

DevOps 研发效能 1024程序员节 快手

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