写点什么

五问 Eric Hexter 和 Jeffery Palermo

  • 2009-05-12
  • 本文字数:1654 字

    阅读完需:约 5 分钟

MVC Contrib 是一个开源项目,它包含了对微软 ASP.NET MVC 的一些扩展,Eric Hexter 和 Jeffery Palermo 正是这个项目的创建者。目前 MVC Contrib 已经一岁多了,第一个生产环境版本也即将发布。

1. 先生们,是否可以对于那些还不熟悉这个项目的读者们介绍一下,MVC Contrib 都提供了哪些功能?

Eric:

Mvc Contrib 是一个开源社区开发的项目,它为 ASP.NET MVC 框架提供了一些扩展,包括生成 html 的辅助方法、简化测试的辅助方法、集成的依赖注入框架、多视图引擎支持、强类型路由配置以及一些帮助调试的辅助方法。

2. 你们什么时候开始将它作为一个正式项目的?

Eric:

我想是 2007 年的 11 月,第一个 MVC 社区预览版发布的那一天。

Jeffery:

我可能是第一个使用 ASP.NET MVC 的非微软员工。我在 ASP.NET MVC 团队开发 CTP1 之前,就基于 Scott Guthrie 的原型版本开发和发布了 partywithpalermo.com 。我希望能够扩展 ASP.NET MVC,并与其他人分享我的扩展,我知道并不是只有我一个人这样想。那时我和 Eric 正在微软做 ASP.NET MVC 和一些 ASP.NET 相关技术的内部设计评审,我们一起决定了如何组织这个项目。由于 ASP.NET MVC 天生的可扩展性,很多扩展纷纷出现。我们希望能够有一个为大家熟知的地方,让开发人员可以分享他们对 ASP.NET MVC 的扩展。

3. MVC Contrib 在多数时候都是和 ASP.NET MVC 同步开发的,你们从微软获得帮助了么,还是主要依靠你们自己?

Eric:

我们主要靠自己,但是我们从社区中获得了一些代码和补丁,其中包括 MVC 团队博客中的原型代码。ASP.NET MVC 团队将源代码作为 CTP 版本的一部分进行发布,给我们的扩展工作提供了很大的帮助。当我们需要搞清某个扩展点是如何工作的时候,我们可以直接查看源代码。这是微软框架发布方式的一个巨大的改变。微软的其他团队也发布源代码,例如 Pattern and Practices,但是 P&P 并不开发.NET framework,他们发布的是实现参考、示例程序和指导文档。因此 MVC 是第一个在开发周期内保持透明的框架。

4. 有没有你们认为是与 MVC Contrib 竞争或是可以作为补充的项目?如果有机会你们是否愿意与这些项目进行合并?

Eric:

MVC Contrib 的最大目标是让 MVC 框架本身拥有我们所实现的功能。MVC 每次发布的时候,我们都会检查所有的命名空间,看看是否有与 MVC 相同的功能。如果有,就会删除我们的实现代码。至于竞争项目,我们不这么看。我们拥有一些视图引擎,我们维护了 Spark 和 nhaml 一段时间,当这些视图引擎足够流行后,我们决定将它们分离成独立的项目,这样它们可以获得更好的支持和维护。我们的目标不是创造一个庞大的工具集,我们更希望专注于那些可以使软件项目更容易维护的扩展,而不是试图包含所有东西。

5. 你认为 ASP.NET MVC 最大的优点是什么?最大的缺点呢?

Eric:

MVC 最大的优点在于它不是一个会影响开发人员开发方式的 Web UI 框架。它有很多的扩展点,如果它有什么欠缺的地方,你可以很容易的创建一个扩展(来满足你的需要)。它的最大的缺点是 MVC 团队没有提供一个固定的模式,而是多种不同的使用方式。考虑到如果他们真的选择了一个固定的模式,而你又不喜欢的话,这个缺点可能也不算是缺点……

Jeffery:

最大的优点是,它就是一个框架,它不会试图做太多的事情。它只会做基础的工作,而不是某些特别的“特性”。相反,ASP.NET 在经过了多年的发展后,已经变成了一个产品,它包含了非常多的特性,例如 Membership 和 Personalization 等等。ASP.NET MVC 基于简单的接口,着重于基础框架。现在整个社区将共享扩展的“特性”,其中优秀的会被广泛应用,不好的则不会像产品中的特性那样被支持 10 年或更久。

最大的缺点是如何开始使用它,以及围绕这个框架的向导。每个我看过的 ASP.NET MVC 的展示都包含了基础的东西,但同时也包含了不好的实践。人们倾向去做那些你告诉他们去做的事,也包括不好的实践。我希望能在我同 Ben Scheirman 和 Jimmy Bogard 合著的《ASP.NET MVC in Action》一书中为大家提供一些这方面的帮助。

查看英文原文: Five Questions with Eric Hexter and Jeffery Palermo

2009-05-12 10:131280
用户头像

发布了 63 篇内容, 共 24.5 次阅读, 收获喜欢 1 次。

关注

评论

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

MAC系统初始化

焦振清

macos 重装系统

SpreadJS 纯前端表格控件应用案例:雨诺订单管理系统(雨诺OMS)

葡萄城技术团队

你问我答:现有的应用有必要做微服务改造吗?

BoCloud博云

容器 DevOps 微服务 云平台 博云

融云Geek Online 2020 编程挑战赛重磅来袭

InfoQ_967a83c6d0d7

C语言内存泄露很严重,如何应对?

华为云开发者联盟

c 内存泄露 内存 代码 函数

案例分享丨红外自动感应门设计与实现详解

华为云开发者联盟

物联网 传感器 感应探测器 SMT32处理器 感应门

凡泰极客与Rancher达成深度战略合作,加速企业构建私有化小程序生态

FinClip

挽救你的视频号:能够把PPT转换成视频,把备注转换成语音的开源项目

陈磊@Criss

anyRTC Native 4.1.0.1与Web SDK 4.0.11上线

anyRTC开发者

学习 WebRTC 语音 直播 sdk

XSKY对象存储获全球备份领域领导者Commvault官方认证

XSKY星辰天合

3种双集群系统方案设计模式详解

华为云开发者联盟

数据库 数据仓库 数据 双集群系统 双ETL模式

深圳泰利能源有限公司涉嫌传销 共计2.7亿元

CECBC

区块链 基金

区块链助力军事人力资源配置

CECBC

区块链 军事

关于显性知识和隐性知识

Tanmer

知识管理 知识产权

某程序员毕业进UC,被阿里收购!跳去优酷土豆,又被阿里收购!再跳去饿了么,还被阿里收购!难道阿里想收购的是他?

程序员生活志

职场 阿里

数字资产钱包开发,数字加密货币app搭建

13530558032

华为云FusionInsight大数据技术普惠创新,释放千行百业数据价值

数据湖洞见

大数据 FusionInsight 华为云

区块链支付新模式开发,USDT支付系统搭建

13530558032

1. 不吹不擂,第一篇就能提升你对Bean Validation数据校验的认知

YourBatman

Hibernate-Validator Bean Validation 数据校验 JSR380

Cassandra Gossip协议的二三事儿

华为云开发者联盟

源码 三次握手 开发者 Cassandra Gossip协议

SpreadJS 纯前端表格控件应用案例:MHT-CP数据填报采集平台

葡萄城技术团队

LeetCode题解:155. 最小栈,单个栈存储入栈元素与最小值之差,JavaScript,详细注释

Lee Chen

大前端 LeetCode

面试必备知识点:悲观锁和乐观锁的那些事儿

鄙人薛某

面试 乐观锁 悲观锁 CAS 并发控制

云原生如何来进行HTTPS升级

soolaugust

架构 云原生 设计模式

读懂k8s 容器编排控制器 Deployment

Garfield

k8s pod k8s入门

人的转型才是关键 数字化时代你具备数字领导力么

CECBC

区块链 数字化时代

数字货币交易平台源码,数字货币交易所开发核心功能

13530558032

话题讨论 | 当你敲代码累了时,一般喜欢吃点什么补充能量?

InfoQ写作社区官方

加班 写作平台 代码 话题讨论

Spring Bean处理器

语霖

Spring Framework

技术分享:即构互动白板音视频同步、多端有序协作技术实践

ZEGO即构

音视频 在线教育 SVG

从 Node.js(JavaScript) 到 Golang,我的开发体验

Garfield

node.js Go 语言

五问Eric Hexter和Jeffery Palermo_.NET_Jonathan Allen_InfoQ精选文章