开源MVC框架PixelDragonsMVC.NET发布

  近日,Pixel Dragons发布了基于ASP.NET 2.0的MVC开源框架——PixelDragonsMVC.NET(之前叫SimpleMVC.NET),并从很多关键企业应用特性方面,尝试对ASP.Net现有框架进行增强。作为被普遍使用的架构模式,MVC有效的隔离了数据与UI之间的关系,ASP.NET本身就是一个典型的MVC实现,但为了获得很多高级特性的支持,需要应用自己完成很多代码才可以获得。PixelDragonsMVC.NET在很多方面提供了不错的支持:

  它有自己独立的配置文件,该文件按照M-V的方式组织,并且为每个M和V提供逻辑命名,就象应用中经常使用的逻辑数据库连接一样,有效隔离ASP.NET逻辑与实际M和V关系,以控制反转的方式将实际M和V的执行交由框架完成。

  借鉴了Java社区中MVC的实现,该框架也支持每个Controller可以支持多Action特性。虽然不是必须,但随着应用规模的扩大,1:1的Controller:Action将会使应用关联更加复杂,与其将某个业务实体或者应用的某个功能领域与多个Controller产生M:N的交互,不妨将Controller作为“挡箭牌”,由他同时管理多个Action。

  随着AJAX的普及,View的概念也逐渐出现Server Side和Client Side交叉的情况,该框架提供了一个轻量的共享(Shared)UI特性,目的很简单——无论Server还是Client都可以尽量共享同一段UI代码。

  照顾到中小型项目的使用要求,该框架对事务提供了简化的支持手段,从配置系统中获取的事务控制信息被“嵌”在HttpContext中,进而在Server端指导NHibernate应该对具体Action启用何种事物机制。

  在对ASP.NET Request的处理上,该框架作为一个HttpHandler被配置到web.config中,对于所有的.ashx文件进行拦截(可配置为其他扩展名),根据需要调用相应的Controller和View,可将很多任务在后台直接处理掉。

  为了便于开发人员使用,框架外延部分的数据访问和日志操作方面采用了NHibernate和Log4Net两个框架。

  但从企业应用需要看,这个框架还有很多不足的地方。

  它仅仅支持ASP.NET,而不能用于Windows Form,所有操作的隔离环境限于具体HttpContext,而没有对线程提供支持。

  框架自身有些封闭,数据访问部分和事务控制部分几乎本地采用了Nhibernate,向上无法通过定制,切入Enterprise Library,向下无法让项目人员使用简洁如SqlHelper的访问机制。

  其定位有些尴尬,如果确实服务于中小型应用,在Visual Studio.NET环境下,C、V混合虽然是被普遍反对的方法,但实际开发中出于进度和人员技能的限制,或多或少会出现,学习使用一个新的MVC框架似乎有些繁琐;在大规模企业应用中,这个框架扩展性又显得不够。

  尽管如此,如果项目已经选择NHibernate进行ASP.NET项目开发的话,该框架可以作为一个不错调度机制集成。经过它的“梳理”,在项目页面的不断修改和充实情况下,依然可以在代码外围——配置文件中管理他们,尤其是Controller可以根据需要同时激活多个Action。另外,相对“庞大”的UIP而言,PixelDragonsMVC.NET专注而且简洁很多,学习门槛也非常低。

时间: 2016-07-07

开源MVC框架PixelDragonsMVC.NET发布的相关文章

[转自Scott]ASP.NET MVC框架(第三部分): 把ViewData从控制器传到视图

英文原文地址:http://weblogs.asp.net/scottgu/archive/2007/12/06/asp-net-mvc-framework-part-3-passing-viewdata-from-controllers-to-views.aspx 翻译原文地址:http://blog.joycode.com/scottgu/archive/2007/12/07/112355.aspx 过去的几个星期内,我一直在写着讨论我们正在开发的新ASP.NET MVC框架的系列贴子.AS

开源的JS MVC框架 Backbone.js 1.0发布

开源的JS MVC框架 Backbone.js 1.0发布 发表于2013-03-21 09:37| 次阅读| 来源CSDN| 0 条评论| 作者张红月 http://www.aliyun.com/zixun/aggregation/33906.html">JavaScript框架开源Backbone.js 摘要:Backbone.js提供了一套Web开发的框架,通过Model进行key-value绑定及custom事件处理,通过 Collections提供一套 丰富的API用于枚举功能,

开源:Taurus.MVC 框架

为什么要创造Taurus.MVC: 记得被上一家公司忽悠去负责公司电商平台的时候,情况是这样的: 项目原版是外包给第三方的,使用:WebForm+NHibernate,代码不堪入目,Bug无限,经常点着点着就挂了. 一开始招了几个实习的大学生在那玩,搞不定了,终于忽悠的我了,哈哈... 当时进去的第一感觉是重做,不过呵呵,老板的心思你不猜不行. 然后第一阶段就是在旧项目改造维稳了,只要不是需要挂上百台服务器才能解决的问题,都能弱弱地处理的不要不要的,毕竟没有三两三,也不好上梁坑. 到了第二阶段,

MVC框架 EasyJWeb 2.0 发布

EasyJWeb是基于java技术,用于企业级Java Web应用程序快速开发的MVC框架.框架设计构思来源于国内众多项目实践,框架的设计及实现借鉴当前主要流行的开源Web框架,如Rails. Struts.JSF.Tapestry等,吸取其优点及精华,是一个完全由来自的中国开源爱好者开发,文档及注释全部为中文的开源框架. 大家好,今天我们非常高兴的宣布,EasyJWeb的一个革命性的版本--EasyJWeb 2.0版,于今天对外发布.这个版本,EasyJWeb的重心不再只是MVC,而是真正的让

BrnShop开源网上商城第二讲:ASP.NET MVC框架

原文:BrnShop开源网上商城第二讲:ASP.NET MVC框架 在团队设计BrnShop的web项目之初,我们碰到了两个问题,第一个是数据的复用和传递,第二个是大mvc框架和小mvc框架的选择.下面我依次来说明下.       首先是数据的复用和传递:对于BrnShop的每一次请求,程序都要分成好几个阶段执行,例如验证,执行动作方法等等,在各个阶段我们可能需要重复使用同一信息,而我们的愿景就是希望此信息只需获取一次,然后沿着流程管道一直流动,这样在后面的阶段中就可以直接使用,不用再重新获取了

Elefant CMS 0.9.14-rc发布 MVC框架系统

Elefant CMS 0.9.14-rc发布了!该版本修复了MySQL安装的问题. Elefant是一个在PHP中重新构象的MVC框架系统,包括一个完整简单全新的CMS. Elefant主要功能和特点: -具有简单的URLs路由-安全数据库提取和建模系统-默认的输出滤波器编译的模板-集成缓存系统-灵活的输入验证(服务器端和浏览器)-简单的表格处理-17813.html">可定制的用户验证-国际化/本地化-后台任务的CLI支持-小型脚手架-可重复使用应用程序的CMS任务(管理员,用户,博客

Elefant CMS 0.9.13-rc发布 MVC框架系统

Elefant CMS 0.9.13-rc发布了!该版本结合了多个shell实用程序为一个./conf/elefant脚本,提高了数据库的复制和CSRF预防,简化了页面类和模板处理,提高了http://www.aliyun.com/zixun/aggregation/29830.html">HTTPS控制器的支持,使用zombie.js增加了浏览器测试,提高文档功能. Elefant是一个在PHP中重新想象的MVC框架系统,包括一个完整简单全新的CMS. Elefant主要功能和特点: -

Elefant CMS 1.2.0-Stable发布 MVC框架系统

Elefant是一个在PHP中重新构象的MVC框架系统,包括一个完整简单全新的CMS. Elefant主要功能和特点: -具有简单的URLs路由-安全数据库提取和建模系统-默认的输出滤波器编译的模板-集成缓存系统-灵活的输入验证(服务器端和浏览器)-简单的表格处理-17813.html">可定制的用户验证-国际化/本地化-后台任务的CLI支持-小型脚手架-可重复使用应用程序的CMS任务(管理员,用户,博客,文件管理器,搜索)-高级文件编制-单元测试覆盖率接近100%-快速的GZIP输出压缩

Elefant CMS 0.9.6-beta发布 MVC框架系统

Elefant是一个在PHP中重新想象的MVC框架系统,包括一个完整简单全新的CMS.(更多信息:http://www.elefantcms.com/) Elefant主要功能和特点: -具有简单的URLs路由-安全数据库提取和建模系统-默认的输出滤波器编译的模板-集成缓存系统-灵活的输入验证(服务器端和浏览器)-简单的表格处理-17813.html">可定制的用户验证-国际化/本地化-后台任务的CLI支持-小型脚手架-可重复使用应用程序的CMS任务(管理员,用户,博客,文件管理器,搜索)