写点什么

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

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

关注

评论

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

Android 11 中的存储机制更新,android项目开发实战入门光盘文件

android 程序员 移动开发

OpenSearch 文档如何部署到 GitHub Page 中

HoneyMoose

Android Studio 3,2021Android面试真题精选干货整理

android 程序员 移动开发

Android ViewPager2 & TabLayout,那些被大厂优化的程序员们

android 程序员 移动开发

Android - 更安全地保存静态密钥,android三种开发模式

android 程序员 移动开发

Android 10手势导航的侧滑返回效果优化策略,2021最新Android大厂面试真题大全

android 程序员 移动开发

Android Studio自定义模板实现一键创建MVP结构,已拿到offer

android 程序员 移动开发

Android Matrix矩阵,一个Android程序员的面试心得

android 程序员 移动开发

Android P 网络请求相关总结,flutter二维码扫描插件

android 程序员 移动开发

Android MVP模式深入实践探索(一),移动开发工程师简历

android 程序员 移动开发

Android mvvm 之 LiveData 的原理,如何保证高可用

android 程序员 移动开发

Android - singleTask启动模式详解,腾讯Android面试

android 程序员 移动开发

Android 11适配指南之系统相机拍照、打开相册,Android开发两年

android 程序员 移动开发

Android BLE基础框架全新改版,android音视频开发面试题

android 程序员 移动开发

OpenSearch 文档中文本地化

HoneyMoose

Android JPEG 压缩那些事,深入解析Android-AutoLayout

android 程序员 移动开发

Android NDK 开发之 CMake 必知必会,程序员必须要了解的知识点

android 程序员 移动开发

Android Protobuf应用及原理,android输入法开发软键盘切换

android 程序员 移动开发

Android 9,flutter安装教程2019

android 程序员 移动开发

Android Gradle 学习笔记整理,阿里Android面试必问

android 程序员 移动开发

Android Handler源码浅析,一线互联网架构师筑基必备技能之Android篇

android 程序员 移动开发

Android Manifest功能与权限描述大全,阿里大牛整理

android 程序员 移动开发

Android WebView常见问题,androidim开发

android 程序员 移动开发

Android AutoService 组件化,android完整项目源码

android 程序员 移动开发

Android Gradle 常用配置,androidsdk环境配置

android 程序员 移动开发

Android Gradle 干货,sharedpreferences跨进程

android 程序员 移动开发

Android jetpack最佳总结和实践,安卓面试题宝典app

android 程序员 移动开发

Android - 开发常用工具类Utils,真的已经讲烂了

android 程序员 移动开发

Android - 运行时权限一个工具类搞定,让人茅塞顿开

android 程序员 移动开发

Android AOSP 6,flutter面试题

android 程序员 移动开发

android webview与js交互(动态添加js),【好文推荐

android 程序员 移动开发

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