领域专用语言实战 - (EPUB全文下载)

文件大小:2.72 mb。
文件格式:epub 格式。
书籍内容:

版权信息
书名:领域专用语言实战
作者:Debasish Ghosh
译者:郭晓刚
ISBN:978-7-115-33174-8
本书由北京图灵文化发展有限公司发行数字版。版权所有,侵权必究。
您购买的图灵电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。
我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。
如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。
目录
版权声明
献词

前言
致谢
关于本书
关于封面图片
第一部分 领域专用语言入门
第1章 初识DSL
1.1 问题域与解答域
1.1.1 问题域
1.1.2 解答域
1.2 领域建模:确立共通的语汇
共通语汇的益处
1.3 初窥DSL
1.3.1 何为DSL
1.3.2 流行的几种DSL
1.3.3 DSL的结构
1.4 DSL的执行模型
1.5 DSL的分类
1.5.1 内部DSL
1.5.2 外部DSL
1.5.3 非文本DSL
1.6 何时需要DSL
1.6.1 优点
1.6.2 缺点
1.7 DSL与抽象设计
1.8 小结
1.9 参考文献
第2章 现实中的DSL
2.1 打造首个Java DSL
2.1.1 确立共通语汇
2.1.2 用Java完成的首个实现
2.2 创造更友好的DSL
2.2.1 用XML实现领域的外部化
2.2.2 Groovy:更具表现力的实现语言
2.2.3 执行Groovy DSL
2.3 DSL实现模式
2.3.1 内部DSL模式:共性与差异性
2.3.2 外部DSL模式:共性与差异性
2.4 选择DSL的实现方式
2.5 小结
2.6 参考文献
第3章 DSL驱动的应用程序开发
3.1 探索DSL集成
为什么关心DSL集成
3.2 内部DSL的集成模式
3.2.1 通过Java 6的脚本引擎进行集成
3.2.2 通过DSL包装器集成
3.2.3 语言特有的集成功能
3.2.4 基于Spring的集成
3.3 外部DSL集成模式
3.4 处理错误和异常
3.4.1 给异常命名
3.4.2 处理输入错误
3.4.3 处理异常的业务状态
3.5 管理性能表现
3.6 小结
3.7 参考文献
第二部分 实现DSL
第4章 内部DSL实现模式
4.1 充实DSL“工具箱”
4.2 内嵌式DSL:元编程模式
4.2.1 隐式上下文和灵巧API
4.2.2 利用动态装饰器的反射式元编程
4.2.3 利用buider的反射式元编程
4.2.4 经验总结:元编程模式
4.3 内嵌式DSL:类型化抽象模式
4.3.1 运用高阶函数使抽象泛化
4.3.2 运用显式类型约束建模领域逻辑
4.3.3 经验总结:类型思维
4.4 生成式DSL:通过模板进行运行时代码生成
4.4.1 生成式DSL的工作原理
4.4.2 利用Ruby元编程实现简洁的DSL设计
4.5 生成式DSL:通过宏进行编译时代码生成
4.5.1 开展Clojure元编程
4.5.2 实现领域模型
4.5.3 Clojure宏之美
4.6 小结
4.7 参考文献
第5章 Ruby、Groovy、Clojure 语言中的内部DSL设计
5.1 动态类型成就简洁的DSL
5.1.1 易读
5.1.2 鸭子类型
5.1.3 元编程——又碰面了
5.1.4 为何选择Ruby、Groovy、Clojure
5.2 Ruby语言实现的交易处理DSL
5.2.1 从API开始
5.2.2 来点猴子补丁
5.2.3 设立DSL解释器
5.2.4 以装饰器的形式添加领域规则
5.3 指令处理DSL:精益求精的Groovy实现
5.3.1 指令处理DSL的现状
5.3.2 控制元编程的作用域
5.3.3 收尾工作
5.4 思路迥异的Clojure实现
5.4.1 建立领域对象
5.4.2 通过装饰器充实领域对象
5.4.3 通过REPL进行的DSL会话
5.5 告诫
5.5.1 遵从最低复杂度原则
5.5.2 追求适度的表现力
5.5.3 坚持优秀抽象设计的各项原则
5.5.4 避免语言间的摩擦
5.6 小结
5.7 参考文献
第6章 Scala语言中的内部DSL设计
6.1 为何选择Scala
6.2 迈向Scala DSL的第一步
6.2.1 通过Scala DSL测试Java对象
6.2.2 用Scala DSL作为对Java对象的包装
6.2.3 将非关键功能建模为Scala DSL
6.3 正式启程
6.3.1 语法层面的表现力
6.3.2 建立领域抽象
6.4 制作一种创建交易的DSL
6.4.1 实现细节
6.4.2 DSL实现模式的变化
6.5 用DSL建模业务规则
6.5.1 模式匹配如同可扩展的Visitor模式
6.5.2 充实领域模型
6.5.3 用DSL表达税费计算的业务规则
6.6 把组件装配起来
6.6.1 用trait和类型组合出更多的抽象
6.6.2 使领域组件具体化
6.7 组合多种DSL
6.7.1 扩展关系的组合方式
6.7.2 层级关系的组合方式
6.8 DSL中的Monad化结构
6.9 小结
6.10 参考文献
第7章 外部DSL的实现载体
7.1 解剖外部DSL
7.1.1 最简单的实现形式
7.1.2 对领域模型进行抽象
7.2 语法分析器在外部DSL设计中的作用
7.2.1 语法分析器、语法分析器生成器
7.2.2 语法制导翻译
7.3 语法分析器的分类
7.3.1 简单的自顶向下语法分析器
7.3.2 高级的自顶向下语法分析器
7.3.3 自底向上语法分析器
7.4 工具支持下的DSL开发——Xtext
7.4.1 文法规则和大纲视图
7.4.2 文法的元模型
7.4.3 为语义模型生成代码
7.5 小结
7.6 参考文献
第8章 用Scala语法分析器组合子设计外部DSL
8.1 分析器组合子
8.1.1 什么是分析器组合子
8.1.2 按照分析器组合子的 ............

书籍插图:
书籍《领域专用语言实战》 - 插图1
书籍《领域专用语言实战》 - 插图2

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家 AI应用导航 研报之家
书云 Open E-Library » 领域专用语言实战 - (EPUB全文下载)