写点什么

开源 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:541780
用户头像

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

关注

评论

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

引领文旅新体验!3DCAT实时云渲染助力打造“永不落幕”的湾区文采会元宇宙

3DCAT实时渲染

元宇宙 元宇宙线上虚拟展厅 VR虚拟现实

阿里最新 23版 Java 面试系列手册,竟堪称 GitHub 面试杀手锏

程序知音

Java java面试 后端技术 Java面试题 Java面试八股文

MobTech MobPush|A/B测试提升运营决策

MobTech袤博科技

袋鼠云春季生长大会圆满落幕,带来数实融合下的新产品、新方案、新实践!

袋鼠云数栈

数字化转型

ARB链挖矿dapp系统开发模式定制

开发v-hkkf5566

Cloud Kernel SIG月度动态:发布 Anolis 8.8 镜像、kABI 社区共建流程

OpenAnolis小助手

镜像 龙蜥社区 sig kernel 月报

JVM调优-Nacos GC引发的服务批量下线问题

程序员小毕

程序员 微服务 后端 nacos jvm调优

【转载】三十而已,信智依然 | 田溯宁:写在亚信科技30华诞

亚信AntDB数据库

AntDB AntDB数据库 企业号 4 月 PK 榜

2023 最新版 Java 面试八股文大全 PDF 版限时分享,含 700 道高频面试题

三十而立

预训练对话大模型深度解读

轻口味

AI 大模型 三周年连更

各行业常见的业务指标汇总(数据分析常用数据指标)

Data 探险实验室

数据分析 数据分析师 数据指标 指标中台; 数据分析 指标洞察

【Python实战】Python对中国500强排行榜数据进行可视化分析

BROKEN

三周年连更

ChatGPT辅助编写自动化测试

QE_LAB

单元测试 自动化测试 接口测试 测试技术 ChatGPT

亮点预告!金蝶云·苍穹技术开放日第五期AI专场邀你围观!

金蝶云·苍穹

AI RPA 直播 企业云服务 ChatGPT

基于深度学习框架设计的货运管家(功能总结)

DS小龙哥

三周年连更

基于容器平台 ACK 快速搭建 Stable Diffusion

阿里巴巴云原生

阿里云 云原生 容器服务

精髓!不愧为京东内部 Spring Boot 全解笔记

程序知音

Java 微服务 后端 springboot Java进阶

拥抱Serverless释放生产力,探索华为云Serverless车联网最佳实践

华为云开发者联盟

Serverless 车联网 华为云 华为云开发者联盟 企业号 4 月 PK 榜

直播预告 | 字节跳动云原生大数据分析引擎 ByConity 与 ClickHouse 有何差异?

墨天轮

大数据 字节跳动 Clickhouse 数仓

架构误区系列16:不可靠的幂等

agnostic

幂等设计

为什么医疗保健需要MFT来帮助保护EHR文件传输

镭速

活动回顾|微服务x容器开源开发者 Meetup 成都站回放 & PPT 下载

阿里巴巴云原生

阿里云 开源 容器 微服务 云原生

当⻉借⼒阿⾥云落地云原⽣架构转型,运维降本、效率稳定性双升

阿里巴巴云原生

阿里云 云原生 云原生架构

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