AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

开源 MVC 框架 PixelDragonsMVC.NET 发布

  • 2007-07-02
  • 本文字数:1359 字

    阅读完需:约 4 分钟

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


作者简介:王翔,全国海关信息中心高级架构师,从事海关主要广域分布式系统的设计和实施,多次参与各业务系统的优化。此外,作为信息安全工作组副组长,他还一直致力于应用密码技术和公钥基础设施保障海关业务的安全运行。此外,他还是《程序员》杂志的专栏作者。

2007-07-02 00:541580
用户头像

发布了 61 篇内容, 共 13.1 次阅读, 收获喜欢 0 次。

关注

评论

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

亚马逊云科技大中华区企业业务拓展总经理凌琦:云计算赋能芯片设计和制造

亚马逊云科技 (Amazon Web Services)

KAIFA 的「AMI 智能计量系统解决方案」出海记 | 精选案例

亚马逊云科技 (Amazon Web Services)

iOS 面试策略之代码考查到offer的比较和选择

iOSer

ios 面试

架构实战营 - 作业01

Kram

面试的信心来源于过硬的基础(iOS开发方向)

ios 面试

架构实战训练营-模块一课后作业

Johnny

架构实战营

crudapi零代码开发平台应用场景和成功案例

crudapi

RESTful API sdk crud crudapi

Java 并发基础(三):再谈 CountDownLatch

看山

Java并发

通过校企合作,我们打造了一个培养应用型人才的“梦工场” | 精选案例

亚马逊云科技 (Amazon Web Services)

快速学一遍vue的状态管理模式 -- Vuex

空城机

JavaScript Vue 大前端 4月日更 vuex

作业内容1

谢博琛

大数据分析之分析模型介绍

大数据技术指南

数据分析 4月日更

Java 并发基础(四):再谈 CyclicBarrier

看山

Java并发

理查德·斯托曼:为了自由,我决定写一个GNU操作系统(下)

开源青年

开源 开源青年 开源文化 人物志

亚马逊云科技发布中国业务战略!

亚马逊云科技 (Amazon Web Services)

进程、线程、协程

无心

网络编程 操作系统

NoCode 实战 | 零代码应用开发,轻松搞定任务跟踪管理难题(下)

亚马逊云科技 (Amazon Web Services)

中国唯一入选 Forrester 领导者象限,阿里云 Serverless 产品能力全球第一

阿里巴巴中间件

话说 内存屏障,有序性保证

木子的昼夜

架构师实战营 [模块一]- 微信业务架构和学生管理系统架构设计

ifc177

架构实战营

Amazon SageMaker Debugger 推出模型分析功能啦 | 新服务上线

亚马逊云科技 (Amazon Web Services)

开源软件运动|网景公司|大教堂与集市

开源青年

开源 开源青年 开源文化 人物志

模块一:课后作业

黄先生

架构实战营

业务架构训练营第0期模块一作业

目标一个亿

团队里不能留的三种人

石云升

辞退 28天写作 职场经验 管理经验 4月日更

理查德·斯托曼:我能发起“自由软件”运动全靠那台打印机(上)

开源青年

开源 #人物志 开源青年 开源文化

大数据计算时数据倾斜问题及解决方案

五分钟学大数据

大数据 4月日更

架构师实战营[M1]-微信的业务架构和学生管理系统架构设计

LeoWang

架构实战营第一期作业

王华

架构实战营

Java 并发基础(二):主线程等待子线程结束

看山

Java并发

社交出海,应如何突破安全与合规困局? | 精选案例

亚马逊云科技 (Amazon Web Services)

开源MVC框架PixelDragonsMVC.NET发布_.NET_王翔_InfoQ精选文章