InfoQ

新闻

Promesh.NET:一个.NET的MVC Web框架

作者 Robert Bazinet译者 朱永光 发布于 2007年8月23日 下午7时54分

社区
.NET
主题
Web框架
标签
MVC

Philippe Leybaert最近发布了一个名为ProMesh.NET的Model-View-Controller (MVC)框架,用于创建.NET 2.0 Web 应用程序。这个框架在开源许可下发布在Codeplex上。MVC框架随着Ruby on Rails以及Castle Project 和 MonoRails的流行,最近获得了大家的欢迎。

ProMesh.NET中包含了如下特性:

  • 基于控制器易于实现MVC模式
  • 灵活的基于模板的绘制引擎(使用纯html文件)
  • 提供非常强大的集成测试框架以在你的网页上运行单元测试
  • 很容易地把参数和其他客户数据映射到键入的方法参数和类成员上
  • 灵活和易于使用的表单生成功能和Postback处理
  • 集成的日志和配置管理
  • 和CoolStorage.NET ORM函数库可选的集成
  • 针对性能特别优化

Philippe也慷慨地发布了一个使用这个框架非常好的练习。InfoQ有机会采访了Philippe关于ProMesh.NET项目的一些事情:

ProMesh.NET是一个针对.NET 2.0的MVC Web应用开发框架。它是控制器驱动的,意思是框架通过调用控制器对象从而绘制视图。视图引擎是内置的,并使用标准的嵌入着“视图逻辑”的HTML文件。它没有以任何方式使用ASP.NET的页面模型,但以由.NET Framework提供的HTTP Handler和HTTP Module来驱动。

但问到ProMesh.NET已经开发了多久时:

项目实际上开始于一个非常简单的内部使用的ASP 框架,其可以回溯到1999年。在2002年,它被移植到.NET下,但是存在一些功能的限制。经过几年的发展,它已经成为一个专门运行于.NET 2.0之上的完整MVC框架了。在内部项目使用几年后,我感觉已经到了把它公开的时候了。我是一个坚定的开源软件信仰者,所以我决定把它作为开源软件来发布。

关于创建ProMesh.NET的目的:

这实在没有一个“决定”之类的东西。它就这样很自然的开发出来了。我严格地采用了“分离关注”这个原则,这就是为什么我为ASP写了一个小巧的MVC框架,然后逐步发展为ProMesh.NET。当ASP.NET第一次出现的时候,我仔细地研究过,但我发现那不是我想要的,所以我继续开发ProMesh.NET。

在谈到现在谁在使用ProMesh.NET的时候,Phillip说到:

ProMesh.NET只在上个星期以开源的方式发布,所以我只知道一些我个人参与的项目在使用。这些项目包括了一些高流量的站点,比如:www.cartoonbase.comwww.mobileweb.bewww.lunch.bewww.autosport.be。另外还有www.register.euwww.telito.com,这两个网站依旧运行在针对ASP的“老”的MVC框架下。

对于使用ProMesh.NET有什么好处:

ProMesh.NET提供给开发人员一个以MVC框架为中心的Web应用程序开发框架。它提供了非常简洁的方式来创建Web应用程序,而不会被ASP.NET Web Form的事件模式带来的问题给搅混。把视图和控制器逻辑完整的分离有利于标准HTML模板的使用,这让框架非常容易的使用,甚至于对于那些不熟悉MVC模式的人来说也是如此。

虽然开发人员不能使用ASP.NET控件,但框架支持创建复杂的自定义控件,所以我推测第三方开发人员也许不久将开始开发针对ProMesh.NET的控件。

最后,我们问Philippe他未来的开发计划是什么?:

我计划倾听一下开发人员使用这个框架的心得,人们需要增加什么特性,但我不想把它发展成一个“瑞士军刀”。目前在我心中的未来开发计划有:动态加载插件和控件、集成的Ajax框架(类似AjaxPro)和内置的Wiki引擎。

因为ProMesh.NET现在是开源的,我鼓励开发人员参与到这个产品的开发工作中来。它已经托管在CodePlex上,所以这让开发人员更容易参与进来。

最后但并非最不重要:文档需要被完善,所以未来这点将一直具有很高的优先级。一个Wiki站点不久将被创建,以鼓励其他人参与到书写文档的工作中来。

随着Ruby on Rails的成功和流行,在Web上实现MVC框架越来越受到重视。ASP.NET社区(在开发Web应用程序的技术上)很少有其他方法的选择,直到最近类似ProMesh.NET这样的Web开发框架的出现。这个框架也给开发人员创建自定义控件的能力,以便生成丰富的Web前端界面。

查看英文原文:Promesh.NET - an MVC Web Framework for .NET

1 条回复

回复

太棒了 发表人 he wei 发表于 2007年8月26日 上午5时42分
  1. 返回顶部

    太棒了

    2007年8月26日 上午5时42分 发表人 he wei

    刚试用了一下 太棒了 great

深度内容

Flex与JSON及XML的互操作

平台需要互操作性。在这篇文章中,作者仔细研究了Flex和JSON及XML的互操作性。文章也包含了使用E4X库来将XML映射到图表和表格组件的内容,还演示了如何使用as3core库来解码JSON消息。

用Qi4j进行面向组合编程

本文将简要介绍面向组合编程(COP,Composite Oriented Programming)的概念,展示它如何规避OOP存在的一些问题,并重新点燃使用可重用部件组装领域模型(Domain Model)的希望。

系统开发——新学科,新教育

一门新的计算机学科——“系统开发”,强调人性化、匠艺、设计、创意、创新和新事物的涌现,并建议用被称为“bottega”的工作室替代乏善可陈的教室。

图书聚焦:Visual Studio 2008 揭秘

Mike Snell和Lars Powers用他们最近由Sams出版的新书《Visual Studio 2008揭秘》,试图帮助大家提高开发人员的生产力。本文包括一个下载样章——第10章调试。

BPEL为何不是BPM的圣杯?

Pierre Vigneras在本文中讨论了作为标准之一的BPEL所存在的问题。Pierre先给我们大致介绍了一个简单的并行流程,接着讨论了从业者在试图以一个结构化模型为基础表达非结构化流程时遇到的一系列问题。

基于范型的多语言编程

你是否仔细思考过,为什么人们总在讨论“要正确的语言做恰当的事情”?在这篇文章中,Sadek Drobi向你解释了为什么应该在系统内部混合使用多种语言。

采访与书摘《Pro Web 2.0 Application Development with GWT》

Jeff Dwyer就关于他的新书(《Pro Web 2.0 Application Development with GWT》)、GWT1.5以及创建可搜索的Ajax应用谈了一些他的见解。

时刻准备着,迎接IT业的春天

我们需要设身处地地为客户及客户的业务本身着想,与客户同舟共济。更多创新的思路、产品和模式也同样将为IT业带来新的出路。IT业并不需要坐以待毙,在春天到来之后,市场将会更加繁荣!