领域专用语言实战 - (EPUB全文下载)
文件大小:1.68 mb。
文件格式:epub 格式。
书籍内容:
版权信息书名:领域专用语言实战
作者:Debasish Ghosh
译者:郭晓刚
ISBN:978-7-115-33174-8
本书由北京图灵文化发展有限公司发行数字版。版权所有,侵权必究。
您购买的图灵电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。
我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。
如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。
目录版权声明献词序前言致谢关于本书关于封面图片第一部分 领域专用语言入门第1章 初识DSL1.1 问题域与解答域1.1.1 问题域1.1.2 解答域1.2 领域建模:确立共通的语汇共通语汇的益处1.3 初窥DSL1.3.1 何为DSL1.3.2 流行的几种DSL1.3.3 DSL的结构1.4 DSL的执行模型1.5 DSL的分类1.5.1 内部DSL1.5.2 外部DSL1.5.3 非文本DSL1.6 何时需要DSL1.6.1 优点1.6.2 缺点1.7 DSL与抽象设计1.8 小结1.9 参考文献第2章 现实中的DSL2.1 打造首个Java DSL2.1.1 确立共通语汇2.1.2 用Java完成的首个实现2.2 创造更友好的DSL2.2.1 用XML实现领域的外部化2.2.2 Groovy:更具表现力的实现语言2.2.3 执行Groovy DSL2.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 隐式上下文和灵巧API4.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 动态类型成就简洁的DSL5.1.1 易读5.1.2 鸭子类型5.1.3 元编程——又碰面了5.1.4 为何选择Ruby、Groovy、Clojure5.2 Ruby语言实现的交易处理DSL5.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 为何选择Scala6.2 迈向Scala DSL的第一步6.2.1 通过Scala DSL测试Java对象6.2.2 用Scala DSL作为对Java对象的包装6.2.3 将非关键功能建模为Scala DSL6.3 正式启程6.3.1 语法层面的表现力6.3.2 建立领域抽象6.4 制作一种创建交易的DSL6.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 组合多种DSL6.7.1 扩展关系的组合方式6.7.2 层级关系的组合方式6.8 DSL中的Monad化结构6.9 小结6.10 参考文献第7章 外部DSL的实现载体7.1 解剖外部DSL7.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开发——Xtext7.4.1 文法规则和大纲视图7.4.2 文法的元模型7.4.3 为语义模型生成代码7.5 小结7.6 参考文献第8章 用Scala语法分析器组合子设计外部DSL8.1 分析器组合子8.1.1 什么是分析器组合子8.1.2 按照分析器组合子的方式设计DSL8.2 Scala的分析器组合子库8.2.1 分析器组合子库中的基本抽象8.2.2 把分析器连接起来的组合子8.2.3 用Monad组合DSL分析器8.2.4 左递归DSL语法的packrat分析8.3 用分析器组合子设计DSL的步骤8.3.1 第一步 ............
书籍插图:
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » 领域专用语言实战 - (EPUB全文下载)