BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Jasper:没有代码生成器或配置文件的ORM

| 作者 Jonathan Allen 关注 525 他的粉丝 ,译者 朱永光 关注 0 他的粉丝 发布于 2007年5月9日. 估计阅读时间: 3 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

Jasper是微软为快速应用程序开发专门设计的新ORM项目。不像微软早期的其他类似项目,这个ORM不需要代码生成器。它的目标是:“让快速开发和访问数据真正变得既快又简单”。

常规的ORM(Object-Relational Mapping)一般都具有如下三个特性的一种。第一,纯手工代码,每一个数据类都手动创建,不需要IDE的帮助。第二,微软惯用的代码生成器。从早期 的.NET技术如Typed DataSet(类型化数据集)到LINQ,代码生成器都通过映射数据库结构来生成领域对象。

在Java和开源世界里,配置文件是最常用的。这些配置文件,通常使用XML来定义这些领域对象在运行时应该像什么样子。当有工具来辅助生成这些XML配置文件的时候,最终的效果和上面提到的代码生成器也就很类似了。

微软开发代号为“Jasper”的项目是为了满足快速而重复的数据库应用程序开发的需要而提供的一系列组件。在Jasper的帮 助下,你只需要连接到数据库,就可以马上开始直观的使用领域特定(domain-specific)的数据对象来编写访问数据的程序了。无需配置文件,无 需代码生成器。Jasper能够在现有的应用程序框架(包括ASP.NET,WinForms和WPF)和现有的数据库下很好的工作。

从实际情况看来,这意味着数据对象是在运行时基于数据库结构而生成的。理想的话,这将让你从LINQ中获得一个丰富的体验,而无需担心生成的代码是否和数据库结构同步。

对于这个最初的CTP版本,能使用的语言只有Visual Basic 9IronPython 1.1。C#由于不具备后期绑定的特性来和运行时生成的对象进行交互,所以不能在Jasper中使用。

由DLR提供的动态特性充分为Jasper进行了考虑。理论上,Jasper将可以通过添加额外方法和属性的形式,让商业规则附加到运行时动态生成的数据对象上。

查看英文原文:Jasper: ORM without Code Generators or Configuration Files


译者简介:朱永光,IT自由人和环境保护者,微软最有价值专家(MVP)和MCSD。他有14年的编程实践经历,5年软件构架和开发管理经验,擅长微软相关技术和产品,目前主要关注软件构架和开发框架,是成都.NET俱乐部副主席和核心讲师,个人博客为http://redmoon.cnblogs.com。现在他作为共同创始人经营着一家环境保护技术公司。为InfoQ中文站贡献内容,请邮件至china-editorial@infoq.com

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

这个名字很容易和JAVA的一个开源报表引擎弄混啊 by guo memphis

这个名字很容易和JAVA的一个开源报表引擎弄混啊

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT