写点什么

关于 SubSonic 的问答

  • 2007-07-21
  • 本文字数:1658 字

    阅读完需:约 5 分钟

SubSonic 是一个类似 Rails 的开源.NET 项目。你可以把它看作是一把瑞士军刀,它可以用来构建 Website 和通过 ORM 方式来访问数据。在最新的版本 2.0.3 中,我们对执行引擎作了很大的改进,也修复了大量的 Bug。 Rob Conery Eric Kemp 是推动 SubSonic 的主要开发人员,与项目良好的发展有着密切的关系。

InfoQ 编辑提出了一些关于项目的问题,得到了 Eric 和 Rob 的积极回复:

InfoQ:是什么驱使你们创建 SubSonic?

Rob:大约 95% 的应用程序都通过某种方式来访问数据库。由于某些原因,95% 的 Visual Studio 和.NET 工具做的事情是把数据从数据库中取出来然后把数据放到 UI 上显示。当我第一次看到 SqlDataSource 和 GridView 的实例,我觉得它们真的太牛了,然而它们打破了我所知的所有 DAL 惯例。ObjectDataSource 是可以解决这个问题,但为什么我一定要使用另外一个工具来连接我的程序和数据呢?从一个构架师的角度,我看不到任何理由。

我记得在 Fritz Onion 的站点上读到一篇博文,他使用 BuildProviders 做出了一个对象模型,我就在寻思“有一天我也要这样做!”。当我重构 Commerce Starter Kit 的时候,这天到来了,我尽我所能把一些数据访问代码调整到基类里面去。我以非常规的方式使用泛型,可能已经超越了泛型原来的设计意图,在这个过程中我偶然找到了一个非常酷的设计模式,用它可以生成很少的代码就能完成整个数据访问层的工作。当我让它正常工作起来,我发誓,我简直从我的椅子上跳起来了。

之后我又花了两个星期来不断的测试,以解决其中的错误和性能问题,我记得我曾经想“在这里我已经得到某些东西了”。有段时间,我曾经做过一些 Ruby/Rails 的工作,我有一些想法能把 RoR 的优点带到 ASP 的世界来。虽然 Rails 最匹配的语言是 Ruby——但是有可能 RubyCLR(或者其他.NET 的动态语言)有一天将能完善,到那时,我认为 SubSonic 将能发挥更大作用。

InfoQ:SubSonic 当前的进展如何?

Eric:虽然 SubSonic 都还不满一周岁,在 4 月底它发布了 2.0,相对于 2006 年 12 月的 1.0.6 版提供了一系列新特性来扩展其功能。从那时起,我们又发布了 3 个修正版本,2.0.3 就是昨天才发布出来的。

SubSonic 是一个非常活跃的项目,在 CodePlex 已经持续排名前 10 了,和一些微软支持的项目并列在一起,如 AJAX Control Toolkit、Enterprise Library 和 IronPython。虽然这很难说明它是真的流行,不过下载数量确实是很鼓舞人心的——SubSonic 2.0.2 在不到 3 周的时间里被下载了几乎 2500 次,2.0.3 在第一天里被下载了差不多 400 次。

InfoQ:什么是 SubSonic 的吸引人之处?

Eric:作为一个数据访问平台,SubSonic 在 DataSet 的强大与速度,和 ORM 平台的高级功能之间寻求平衡,其结果是无需开发人员具备多少对象映射的经验,也不需要他们继续使用 SQL。

作为一个开发人员生产力工具,SubSonic 通过从基础上支持软件开发的迭代本质,自动化了数据驱动的应用程序开发中重复性的、无趣的过程。通过这个自动生成的 Web-Based 的数据操纵的“架子”,轻量级和灵活的查询工具,以及一个不断丰富功能的用于通用业务数据验证和转换需要的类库,SubSonic 让开发人员可以快速的构建他们的应用程序,而不是一些支撑的基础系统。

InfoQ:有哪些人在使用 SubSonic

Eric:要评价 SubSonic 的使用是困难的,我们只能从什么人在论坛中或者博客中分享经验来判断。不过,我们知道使用的范围是很广泛的。SubSonic 支撑着几个开源项目,如 dotnetkicks.com,并且目前正被集成到一个顶级的 ASP.NET 的博客平台上。使用 SubSonic 的既有业余开发的个人应用程序,也有一些 500 强企业。

InfoQ:SubSonic 未来会加入那些功能?

Eric:除了计划中的对我们的查询引擎的一些改进,也会在 2.1 发布版中提供 REST 的相关功能,我们目前是按照一个基本指导原则来“逐步进步”。具体说来,这意味着一再强调我们“惯例高于配置”的“老调”,按照有助于提升开发人员的生产力的一些通用模式,来完成一个更完整和更具扩展性的“开箱即用的应用程序”。

谢谢 Rob 和 Eric!

查看英文原文: QnA on SubSonic

2007-07-21 01:333255
用户头像

发布了 254 篇内容, 共 60.1 次阅读, 收获喜欢 2 次。

关注

评论

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

网络调试和抓包分析工具Proxyman Premium for Mac

Mac相关知识分享

网络调试工具

革新之作!可心柔保湿小绒巾上新,引领生活用纸新潮流

新消费日报

2024 年金九银十版Java面试题及答案整理(纯干货,超详细)

采菊东篱下

编程 java面试

永久激活版 Trapcode Particular for Mac(AE三维粒子插件)

理理

Neural Filters for Photoshop 2021(ps2021逆天滤镜库)无需登陆Adobe Id

理理

用户管理系统(源码+文档+部署+讲解)

深圳亥时科技

AE镜头光晕插件 Optical Flares for Mac 许可证及安装包

理理

Spring高手之路23——AOP触发机制与代理逻辑的执行

砖业洋__

spring aop aop代理

Aloudata BIG 主动元数据平台支持 Oracle/DB2 存储过程算子级血缘解析

Aloudata

数据库迁移 存储过程 数据血缘

Capture One 23 Pro for mac(RAW转换和图像编辑工具)

Mac相关知识分享

多云管理平台定义以及好用的厂商推荐

行云管家

云计算 云服务 企业上云 多云管理

数据驱动决策,实时监控助力电商新飞跃 —— 深度解析淘宝商品详情API的应用实践

代码忍者

API 接口 pinduoduo API

极狐GitLab 发布安全版本16.10.10, 16.9.11, 16.8.10, 16.7.10

极狐GitLab

ruby gitlab 安全漏洞 升级

皮阿诺3.0抗菌“黑科技”石英石台面,由内而外守护家人健康

新消费日报

多媒体播放器软件Fig Player - play mp4 mkv mp3 for Mac

Mac相关知识分享

多媒体软件

幻灯片制作工具Deckset for Mac(MD文档转幻灯片软件)

Mac相关知识分享

幻灯片制作工具

幽灵代币经济学:揭秘代币分配有哪些后门交易

区块链软件开发推广运营

dapp开发 链游开发 NFT开发 钱包开发 代币开发

伊宁等保测评机构有哪些?电话多少?

行云管家

等保 等保测评 伊宁

腾讯云EdgeOne发布全新Pages,技术普惠广大企业及开发者

Geek_2d6073

摊牌了!没有人能拒绝用大屏激光电视看NBA

Geek_2d6073

处理数码相机RAW格式文件 Adobe Camera Raw

理理

极狐GitLab 17.5 重点功能解读,可以升级啦!

极狐GitLab

gitlab 版本发布

用户信息管理系统

深圳亥时科技

PS一键磨皮插件Delicious Retouch for mac+DR5预设教程

理理

“0元购”智元灵犀X1机器人,软硬件全套图纸和代码全公开,加速人形机器人技术革新!

Geek_2d6073

保护电池健康的小工具AlDente Pro for Mac

Mac相关知识分享

电池工具

HyperWorks基础培训教程:批处理网格划分

智造软件

教程分享 CAE软件 Hypermesh

DApp的盈利模式与去中心化的意义

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 钱包开发 代币开发

漫谈自动化测试

老张

软件测试 持续集成 自动化测试 质量保障

交互管理系统

深圳亥时科技

Python + OpenTelemetry,观测你的特斯拉!

Greptime 格睿科技

Python 数据库 云原生 数据监控 观测

关于SubSonic的问答_.NET_James Vastbinder_InfoQ精选文章