首页 > 编程 > .NET > 正文

开源MVC框架PixelDragonsMVC.NET发布

2024-07-10 13:08:16
字体:
来源:转载
供稿:网友

  近日,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专注而且简洁很多,学习门槛也非常低。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表