书籍详情
Eclipse Modeling Framework 2.0中文版(第2版)
作者:(美)斯泰因贝格 等著,战晓苏 等译
出版社:清华大学出版社
出版时间:2010-06-01
ISBN:9787302226321
定价:¥69.00
购买这本书可以去
内容简介
Eclipse Modeling Framework允许开发人员基于非常简单的模型快速构建强大的应用程序。《Eclipse Modeling Framework 2.0中文版(第2版)》对上一版做了全面修订,为指导您使用EMF解决实际问题、加快开发进度和提高软件质量提供了专家级指南、精辟分析和丰富示例。《Eclipse Modeling Framework 2.0中文版(第2版)》在上一版基础上新增逾40%的内容,并从头到尾进行了全面更新,力求使内容更贴近实际,能给读者带来更大帮助。书中阐述EMF建模的核心概念和技术,分析EMF最重要的架构类和生成器模式,引导读者选择最合理的设计方案,并介绍功能强大的架构定制和编程技术。书中主要内容包括:·使用Java、UML、XML模式和Ecore定义模型·新增:使用扩展的Ecore建模技术将XML与UML和Java完美结合起来·生成高质量的代码来实现模型和编辑器·理解和定制生成的代码·完整描述@model Javadoc标记、生成器模型属性以及资源保存和加载选项·新增:利用最新EMF功能,包括扩展的元数据、特性映射、EStore、跨引用适配器、复制器和内容类型等·新增:编排专门章节,介绍有关更改记录、验证以及在独立应用程序和Eclipse RCP应用程序中使用EMF的内容·新增:使用Ecore建立泛型模型以及生成Java 5代码
作者简介
斯泰因贝格(Dave Steinberg),是IBM Software Group的软件开发人员,一直在IBM公司从事Eclipse和建模技术工作。自EMF项日于2002年启动以来,Dave Steinberg始终不渝地贡献着自己的力量。Frank Budinsky,是IBM Software Group的高级架构师,也是EMF以及Eclipse的EMF项目的创始人之一。他日前担任OASIS SDO规范技术委员会副主席兼IBM首席SDO架构师。Marcelo Patemostro,是IBM Software Group的软件架构师和工程师。他是EMF参与者之一,并。直积极参与其他多个Eclipse项日。加盟IBM之前,Marcelo使用Rational工具及过程管理、设计和实现过多个项日。Ed Merks,是EMF项日负责人,也是Eclipse顶级建模项目领导闭队的成员,并兼任合伙企业itemis AG的软件顾问。Ed是计算机科学博士,多年从事语占、架构和应用程序开发环境的设计和实现,在这些领域拥有丰富的经验。
目录
第1部分 EMF概述
第1章 Eclpse
1.1 项目
1.1.1 Eclipse项目
1.1.2 建模项目
1.1.3 工具项目
1.1.4 技术项目
1.1.5 其他项目.
1.2 Eclipse平台
1.2.1 插件体系结构
1.2.2 工作区资源
1.2.3 平台用户界面
1.2.4 富客户端平台
1.3 更多信息
第2章 EMF介绍
2.1 统一Java、XML和UML
2.2 建模与编程
2.3 定义模型
2.3.1 Ecore模型(元模型)
2.3.2 创建和编辑模型
2.3.3 XMI串行化
2.3.4 Java批注
2.3.5 Ecore概述
2.4 生成代码
2.4.1 生成的模型类
2.4.2 其他生成的内容
2.4.3 重新生成和合并
2.4.4 生成器模型
2.5 运行库架构
2.5.1 通知和适配器
2.5.2 对象持久化
2.5.3 反射EObject API
2.5.4 动态EMF
2.5.5 数据集成基础
2.6 EMF和建模标准
2.6.1 统一建模语言(LYML)
2.6.2 元对象工具
2.6.3 XML元数据互换
2.6.4 模型驱动的体系结构
第3章 使用EMF.Edit编辑模型
3.1 显示和编辑EMF模型
3.1.1 Eclipse UI基础知识
3.1.2 EMF.Edit支持
3.2 项提供程序
3.2.1 内容和标签项提供程序
3.2.2 项属性源
3.2.3命令工厂
3.2.4 更改通知
3.2.5 项提供程序实现类
3.3 命令架构
3.3.1 公共命令架构
3.3.2 EME Edit命令
3.3.3 Editing Domain
3.4 生成EMF Edit代码
3.4.1 编辑生成
3.4.2 编辑器生成
3.4.3 重新生成EMF7Edit插件
第4章 使用EMF——简单概述
4.1 示例模型:入门级采购订单模型
4.2 创建EMF模型和项目
4.2.1 从批注.1 ava创建EMF模型
4.2.2 从RationalRose类模型创建EMF项目
4.2 3 从XMLschema创建EMF项目
4.2.4 为Ecore模型创建生成器模型
4.2.5 其他格式
4.3 生成代码
4.4 运行应用程序
4.5 继续开发
第Ⅱ部分 定义EMF模型
第5章 Ecore建模概念
5.1 Ecore模型用法
5.2 Ecore内核
5.3 结构特性
5.3.1 属性
5.3.2 引用
5.4 行为特性
5.5 分类器
5.5.1 类
5.5.2 数据类型
5.6 包和工厂
5.7 批注
5.8 模型数据类型
5.9 Ecore和用户模型
第6章 UML
6.1 UML包
6.2 分类器的UML规范
6.2.1 类
6.2.2 枚举类型
6.2.3 数据类型
6.3 属性的URL规范
6.3.1 单值属性
6.3.2 多值属性
6.3.3 包含默认值的属性
6.4 引用的UML规范
6.4.1 双向非包容引用
6.4.2 包容引用
6.4.3 映射引用
6.5 操作的UML规范
6.6 文档
6.7 Rational Rose中的Ecore属性
6.7.1 包属性
6.7.2 分类器属性
6.7.3 结构特性属性
6.7.4 操作属性
6.7.5 模型元素属性
第7章 Java源代码
7.1 类的Java规范
7.1.1 属性
7.1.2 引用
7.1.3 属性和引用的简洁符号
7.1.4 操作
7.2 枚举类型的Java规范
7.3 用于包的Java规范
7.4 映射的Java规范
7.4.1 包中映射条目类的显式定义
7.4.2 映射类型引用、操作和参数的定义
7.5 批注的Java规范
第8章 扩展的Ecore建模
8.1 特性映射
8.1.1 多重特性和跨特性订单
8.1.2 Feature Map接口
8.2 使用特性映射建模
8.2.1 UMI
8.2.2 批注Java
8.2.3 XML Schema1
第9章 XML Schema
9.1 模式
9.1.1 没有目标名称空间的模式
9.1.2 包含目标名称空间的模式
9.1.3全局元素或者属性声明
9.1.4 元素或者属性形式默认值
9.1.5 EMT扩展
9.2 简单类型定义
9.2.1 限制
9.2.2 包含枚举方面的限制
9.2.3 列表类型
9.2.4 联合类型
9.2.5 匿名类型
9.2.6 EMF扩展
9.3 复杂类型定义
9.3.1 扩展和限制
9.3.2 简单内容
9.3.3 匿名类型
9.3.4 抽象类型
9.3.5 混合类型
9.3.6 EMF扩展
9.3.7 操作
9.4 属性声明
9.4.1 ID属性
9.4.2 ID引用或URI属性
9.4.3 必需的属性
9.4.4 默认值
9.4.5 限定属性
9.4.6 全局属性
9.4.7 属性引用
9.4.8 EMF扩展
9.5 元素声明
9.5.1 Any Type元素
9.5.2 ID元素
9.5.3 ID引用或URI属性
9.5.4 Nillable元素
9.5.5 默认值
9.5.6 限定元素
9.5.7 全局元素
9.5.8 元素引用
9.5.9 替换组
9.5.10 EMF扩展
9.6 模型组
9.6.1 重复模型组
9.6.2 重复模型组引用
9.7 通配符
9.7.1 元素通配符
9.7.2 属性通配符
9.7.3 EMF扩展
9.8 批注
9.8.1 文档
9.8.2 Appinfo
9.8.3 忽略的批注
9.8.4 非模式属性
9.9 预定义的模式简单类型
9.10 EMF扩展
第Ⅲ部分 使用EMF生成器
第10章 EMF生成器模式
10.1 模型类
10.1.1 接口和实现类
10.1.2 存取器方法
10.1.3 抽象类
10.1.4 接口
10.2 属性
10.2.1 简单属性
10.2.2 数据类型属性
10.2.3 枚举类型属性
10.2.4 多值属性
10.2.5 默认值
10.2.6 Volatile属性
10.2.7 Non-Changeable属性
10.2.8 Unsettable属性
10.3 引用
10.3.1 单向引用
10.3.2 双向引用
10.3.3 多重多值引用
10.3.4 Non-Proxy Resolving引用
10.3.5 包容引用
10.3.6 Volatile引用
10.3.7 Non-Changeable引用
10.3.8 Unsettable引用
10.3.9 映射引用
10.4 特性映射
10.5 操作
10.6 类继承
10.6.1 单一继承
10.6.2 多重继承
10.6.3 接口继承和实现
10.7 反射方法
10.7.1 特性ID
10.7.2 反射存取器
10.7.3 反向握手方法
10.7.4 特性ID转换方法
10.8 工厂和包
10.9 转换类和适配器工厂
10.10 可选的生成器模式
10.10.1 性能优化
10.10.2 隐藏EMFisms
10.11 定制生成的代码
第11章 EMF.Edit生成器模式
11.1 项提供程序
11.1.1 内容和标签提供程序
11.1.2 项属性源
11.1.3 命令工厂
11.1.4 更改通知
11.1.5 对象创建
11.2 项提供程序适配器工厂
11.3编辑器
11.4 操作栏参与者
11.5 向导
11.6 插件
第12章 运行生成器
12.1 EMF代码生成
12.2 生成器用户界面
12.3 生成器模型属性
12.3.1 模型对象属性
12.3.2 包属性
12.3.3 类属性
12.3.4 特性属性
12.4 命令行生成器工具
12.4.1 无头调用
12.4.2 Rose2GenModel
12.4.3 XSD2GcaModel
12.4.4 Ecore2GenModel
12.4.5 生成器
12.5 生成器Ant任务
12.5.1 emf.Rose2Java
12.5.2 emf.XSD2Java
12.5.3 emf.Ecore2Java
12.6 模板格式
12.6.1 示例模板
12.6.2 模板的可扩展性
第13章 示例——实现模型和编辑器
13.1 开始入手
13.2 生成模型
13.3 实现易失特性
13.4 实现数据类型
13.5 运行ExtendedP02编辑器
13.6 限制引用目标
13.7 将模型划分为多个包
13.7.1 解析包的依赖关系
13.7.2 回顾限制引用目标
13.8 同时编辑多个资源
13.8.1 跨文档、非包容引用
13.8.2 跨文档包容引用
第Ⅳ部分 使用EMF编程
第14章 探索元数据
14.1 包
14.1.1 一般性访问包元数据
14.I.2 定位包
14.2 反射
14.2.1 创建对象
14.2.2 询问和修改对象
14.3 动态EMF
14.4 扩展的元数据
第15章 持久化
15.1 持久化架构概述
15.2 EME持久化API
……
第16章 客户端编程工具箱
第17章 更改模型
第18章 验证架构
第19章 EMF.Edit编程
第20章 Eclipse IDE之外的应用领域
第21章 EMF 2.3和2.4
附录A UML符号
附录B 示例模型概述
附录C 参考文献
第1章 Eclpse
1.1 项目
1.1.1 Eclipse项目
1.1.2 建模项目
1.1.3 工具项目
1.1.4 技术项目
1.1.5 其他项目.
1.2 Eclipse平台
1.2.1 插件体系结构
1.2.2 工作区资源
1.2.3 平台用户界面
1.2.4 富客户端平台
1.3 更多信息
第2章 EMF介绍
2.1 统一Java、XML和UML
2.2 建模与编程
2.3 定义模型
2.3.1 Ecore模型(元模型)
2.3.2 创建和编辑模型
2.3.3 XMI串行化
2.3.4 Java批注
2.3.5 Ecore概述
2.4 生成代码
2.4.1 生成的模型类
2.4.2 其他生成的内容
2.4.3 重新生成和合并
2.4.4 生成器模型
2.5 运行库架构
2.5.1 通知和适配器
2.5.2 对象持久化
2.5.3 反射EObject API
2.5.4 动态EMF
2.5.5 数据集成基础
2.6 EMF和建模标准
2.6.1 统一建模语言(LYML)
2.6.2 元对象工具
2.6.3 XML元数据互换
2.6.4 模型驱动的体系结构
第3章 使用EMF.Edit编辑模型
3.1 显示和编辑EMF模型
3.1.1 Eclipse UI基础知识
3.1.2 EMF.Edit支持
3.2 项提供程序
3.2.1 内容和标签项提供程序
3.2.2 项属性源
3.2.3命令工厂
3.2.4 更改通知
3.2.5 项提供程序实现类
3.3 命令架构
3.3.1 公共命令架构
3.3.2 EME Edit命令
3.3.3 Editing Domain
3.4 生成EMF Edit代码
3.4.1 编辑生成
3.4.2 编辑器生成
3.4.3 重新生成EMF7Edit插件
第4章 使用EMF——简单概述
4.1 示例模型:入门级采购订单模型
4.2 创建EMF模型和项目
4.2.1 从批注.1 ava创建EMF模型
4.2.2 从RationalRose类模型创建EMF项目
4.2 3 从XMLschema创建EMF项目
4.2.4 为Ecore模型创建生成器模型
4.2.5 其他格式
4.3 生成代码
4.4 运行应用程序
4.5 继续开发
第Ⅱ部分 定义EMF模型
第5章 Ecore建模概念
5.1 Ecore模型用法
5.2 Ecore内核
5.3 结构特性
5.3.1 属性
5.3.2 引用
5.4 行为特性
5.5 分类器
5.5.1 类
5.5.2 数据类型
5.6 包和工厂
5.7 批注
5.8 模型数据类型
5.9 Ecore和用户模型
第6章 UML
6.1 UML包
6.2 分类器的UML规范
6.2.1 类
6.2.2 枚举类型
6.2.3 数据类型
6.3 属性的URL规范
6.3.1 单值属性
6.3.2 多值属性
6.3.3 包含默认值的属性
6.4 引用的UML规范
6.4.1 双向非包容引用
6.4.2 包容引用
6.4.3 映射引用
6.5 操作的UML规范
6.6 文档
6.7 Rational Rose中的Ecore属性
6.7.1 包属性
6.7.2 分类器属性
6.7.3 结构特性属性
6.7.4 操作属性
6.7.5 模型元素属性
第7章 Java源代码
7.1 类的Java规范
7.1.1 属性
7.1.2 引用
7.1.3 属性和引用的简洁符号
7.1.4 操作
7.2 枚举类型的Java规范
7.3 用于包的Java规范
7.4 映射的Java规范
7.4.1 包中映射条目类的显式定义
7.4.2 映射类型引用、操作和参数的定义
7.5 批注的Java规范
第8章 扩展的Ecore建模
8.1 特性映射
8.1.1 多重特性和跨特性订单
8.1.2 Feature Map接口
8.2 使用特性映射建模
8.2.1 UMI
8.2.2 批注Java
8.2.3 XML Schema1
第9章 XML Schema
9.1 模式
9.1.1 没有目标名称空间的模式
9.1.2 包含目标名称空间的模式
9.1.3全局元素或者属性声明
9.1.4 元素或者属性形式默认值
9.1.5 EMT扩展
9.2 简单类型定义
9.2.1 限制
9.2.2 包含枚举方面的限制
9.2.3 列表类型
9.2.4 联合类型
9.2.5 匿名类型
9.2.6 EMF扩展
9.3 复杂类型定义
9.3.1 扩展和限制
9.3.2 简单内容
9.3.3 匿名类型
9.3.4 抽象类型
9.3.5 混合类型
9.3.6 EMF扩展
9.3.7 操作
9.4 属性声明
9.4.1 ID属性
9.4.2 ID引用或URI属性
9.4.3 必需的属性
9.4.4 默认值
9.4.5 限定属性
9.4.6 全局属性
9.4.7 属性引用
9.4.8 EMF扩展
9.5 元素声明
9.5.1 Any Type元素
9.5.2 ID元素
9.5.3 ID引用或URI属性
9.5.4 Nillable元素
9.5.5 默认值
9.5.6 限定元素
9.5.7 全局元素
9.5.8 元素引用
9.5.9 替换组
9.5.10 EMF扩展
9.6 模型组
9.6.1 重复模型组
9.6.2 重复模型组引用
9.7 通配符
9.7.1 元素通配符
9.7.2 属性通配符
9.7.3 EMF扩展
9.8 批注
9.8.1 文档
9.8.2 Appinfo
9.8.3 忽略的批注
9.8.4 非模式属性
9.9 预定义的模式简单类型
9.10 EMF扩展
第Ⅲ部分 使用EMF生成器
第10章 EMF生成器模式
10.1 模型类
10.1.1 接口和实现类
10.1.2 存取器方法
10.1.3 抽象类
10.1.4 接口
10.2 属性
10.2.1 简单属性
10.2.2 数据类型属性
10.2.3 枚举类型属性
10.2.4 多值属性
10.2.5 默认值
10.2.6 Volatile属性
10.2.7 Non-Changeable属性
10.2.8 Unsettable属性
10.3 引用
10.3.1 单向引用
10.3.2 双向引用
10.3.3 多重多值引用
10.3.4 Non-Proxy Resolving引用
10.3.5 包容引用
10.3.6 Volatile引用
10.3.7 Non-Changeable引用
10.3.8 Unsettable引用
10.3.9 映射引用
10.4 特性映射
10.5 操作
10.6 类继承
10.6.1 单一继承
10.6.2 多重继承
10.6.3 接口继承和实现
10.7 反射方法
10.7.1 特性ID
10.7.2 反射存取器
10.7.3 反向握手方法
10.7.4 特性ID转换方法
10.8 工厂和包
10.9 转换类和适配器工厂
10.10 可选的生成器模式
10.10.1 性能优化
10.10.2 隐藏EMFisms
10.11 定制生成的代码
第11章 EMF.Edit生成器模式
11.1 项提供程序
11.1.1 内容和标签提供程序
11.1.2 项属性源
11.1.3 命令工厂
11.1.4 更改通知
11.1.5 对象创建
11.2 项提供程序适配器工厂
11.3编辑器
11.4 操作栏参与者
11.5 向导
11.6 插件
第12章 运行生成器
12.1 EMF代码生成
12.2 生成器用户界面
12.3 生成器模型属性
12.3.1 模型对象属性
12.3.2 包属性
12.3.3 类属性
12.3.4 特性属性
12.4 命令行生成器工具
12.4.1 无头调用
12.4.2 Rose2GenModel
12.4.3 XSD2GcaModel
12.4.4 Ecore2GenModel
12.4.5 生成器
12.5 生成器Ant任务
12.5.1 emf.Rose2Java
12.5.2 emf.XSD2Java
12.5.3 emf.Ecore2Java
12.6 模板格式
12.6.1 示例模板
12.6.2 模板的可扩展性
第13章 示例——实现模型和编辑器
13.1 开始入手
13.2 生成模型
13.3 实现易失特性
13.4 实现数据类型
13.5 运行ExtendedP02编辑器
13.6 限制引用目标
13.7 将模型划分为多个包
13.7.1 解析包的依赖关系
13.7.2 回顾限制引用目标
13.8 同时编辑多个资源
13.8.1 跨文档、非包容引用
13.8.2 跨文档包容引用
第Ⅳ部分 使用EMF编程
第14章 探索元数据
14.1 包
14.1.1 一般性访问包元数据
14.I.2 定位包
14.2 反射
14.2.1 创建对象
14.2.2 询问和修改对象
14.3 动态EMF
14.4 扩展的元数据
第15章 持久化
15.1 持久化架构概述
15.2 EME持久化API
……
第16章 客户端编程工具箱
第17章 更改模型
第18章 验证架构
第19章 EMF.Edit编程
第20章 Eclipse IDE之外的应用领域
第21章 EMF 2.3和2.4
附录A UML符号
附录B 示例模型概述
附录C 参考文献
猜您喜欢