写点什么

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:001059
用户头像

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

关注

评论

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

2021最新Java高频精选面试题讲解,绝对干货

Java 程序员 面试 后端

2021最新腾讯Java高级面试题总结,Java篇

Java 程序员 面试 后端

2021最新阿里Java面经,一篇文章帮你解答

Java 程序员 面试 后端

2021谈一下当下最合适的Java架构,感悟分享

Java 程序员 面试 后端

350道Java面试真题分享,王者笔记!

策划Java工程师

Java 程序员 面试 后端

35岁程序员半月4轮面试,HR的话扎心了

策划Java工程师

Java 程序员 面试 后端

如何做分库分表,常见方案汇总

架构精进之路

MySQL 分库分表 8月日更

2021谈一下当下最合适的Java架构,神操作!

Java 程序员 面试 后端

25K大牛甩出的超详细面试总结,已获万赞

策划Java工程师

Java 程序员 面试 后端

【Flutter 专题】131 图解 AnimatedList 动画列表

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 8月日更

Linux之vmstat命令

入门小站

Linux

20道高频面试题(含答案),看完豁然开朗

Java 程序员 面试 后端

35岁的程序员被裁,电子版已问世

策划Java工程师

Java 程序员 面试 后端

35岁程序员半月4轮面试,项目实战

策划Java工程师

Java 程序员 面试 后端

来自跨越边界的急件,我推荐你用这三步,走出锁住你的圈套。

叶小鍵

架构实战营 模块 4 作业

Geek_8c5f9c

架构实战营

Vue进阶(幺柒幺):前端用户体验提升(五)Flex实现弹性布局

No Silver Bullet

Vue Flex 8月日更

在线生成制作Pornhub的微信公众号封面图

入门小站

工具

34岁Java开发大叔感慨,100%好评!

策划Java工程师

Java 程序员 面试 后端

35岁的程序员被裁,90%的人看完都说好

策划Java工程师

Java 程序员 面试 后端

Vue进阶(幺捌零):JS 向 Vue 传值

No Silver Bullet

Vue 8月日更

恐惧和自我偏见 -- 成长的最大障碍

俞凡

认知

kubernetes/k8s CRI 分析 - 容器运行时接口分析

良凯尔

Kubernetes 源码分析 Kubernetes Plugin #Kubernetes# cri-o

🏆【Java技术之旅】教你如何使用异步神器CompletableFuture

码界西柚

Java 异步编程 8月日更 CompetableFuture

25K大牛甩出的超详细面试总结,砥砺前行!

策划Java工程师

Java 程序员 面试 后端

35岁以后的Java程序员出路在哪里?最全的BAT大厂面试题整理

策划Java工程师

Java 程序员 面试 后端

中大型组织 DevOps 成熟度模型设计

Phodal

DevOps thoughtworks phodal

2021网易Java高级面试题总结,面试篇

Java 程序员 面试 后端

Python 数值中的下划线是怎么回事?

Python猫

Python

2021最新华为Java校招面试题,看完直呼内行

Java 程序员 面试 后端

2021最新网易Java面经,面试必会

Java 程序员 面试 后端

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