写点什么

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

  • 2007-05-08
  • 本文字数:933 字

    阅读完需:约 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 9 IronPython 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

2007-05-08 00:00929
用户头像

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

关注

评论

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

春招总结!大厂淘汰率80%,面试难度极高

android 程序员 移动开发

有人说这是2021字节跳动-初级Android工程师的面经?吓到我了!我还是去搬砖吧!

android 程序员 移动开发

【LeetCode】范围求和 IIJava题解

Albert

算法 LeetCode 11月日更

流媒体协议之WebRTC实现p2p视频通话(二)

android 程序员 移动开发

原来一个 Map 就能搞定注册表了

悟空聊架构

Eureka 源码剖析 注册中心 悟空聊架构 11月日更

是时候丢掉 onActivityResult 了 !

android 程序员 移动开发

未来大趋势!Flutter-VS-Kotlin-跨平台开发市场的最终霸主究竟花落谁家?你看好谁呢?

android 程序员 移动开发

来聊聊 Android Jetpack

android 程序员 移动开发

某一线互联网大厂内部超高质量Flutter+Kotlin笔记!技术与实战篇!

android 程序员 移动开发

深入Android系统Binder-1-导读与简介

android 程序员 移动开发

新鲜出炉的Android面试题,确定不来看看吗?还有超详细的答案解析哦~

android 程序员 移动开发

深入Android系统Binder-1-导读与简介(1)

android 程序员 移动开发

搞懂钩子方法和模板方法,看完这篇就够了

Tom弹架构

Java 架构 设计模式

深入理解HTTPS协议

android 程序员 移动开发

最接地气的Android面试总结心得

android 程序员 移动开发

架构师知识分享:架构设计基础之——设计模式

android 程序员 移动开发

王者荣耀异地多活架构

小智

架构训练营

模块化开发一:架构搭建

android 程序员 移动开发

是面试官放水,还是公司太缺人?这都没挂,2021的字节跳动也太好进了吧

android 程序员 移动开发

某二次元App签名算法解析(一)

android 程序员 移动开发

毕业不到一年的Android 开发陷于迷茫,请求前辈指点一二

android 程序员 移动开发

最后再说一次!!不要在你的App启动界面设置SingleTask-SingleInstance

android 程序员 移动开发

最新Android面试题整理

android 程序员 移动开发

来自阿里P7的兄弟给我说:赶紧掌握这项技术太吃香了

android 程序员 移动开发

构建yum库

android 程序员 移动开发

查漏补缺:十个Handler面试最常见问题,带你全面理解Handler消息机制

android 程序员 移动开发

模块化开发一:架构搭建(1)

android 程序员 移动开发

模板方法模式

android 程序员 移动开发

求面试别再问我HashMap原理了——史上最全源码解读,别再说你不知道HashMap 原理

android 程序员 移动开发

深入学习-Gradle-自动化构建技术(二)Groovy-筑基

android 程序员 移动开发

深入浅出协程、线程和并发问题

android 程序员 移动开发

Jasper:没有代码生成器或配置文件的ORM_.NET_Jonathan Allen_InfoQ精选文章