领域特定语言

- 书名:领域特定语言
- 作者: MartinFowler
- 格式:PDF
- 时间:2024-06-29
- 评分:
- ISBN:9787111413059
《领域特定语言》是DSL领域的丰碑之作,由世界级软件开发大师和软件开发“教父”Martin Fowler历时多年写作而成,ThoughtWorks中国翻译。全面详尽地讲解了各种DSL及其构造方式,揭示了与编程语言无关的通用原则和模式,阐释了如何通过DSL有效提高开发人员的生产力以及增进与领域专家的有效沟通,能为开发人员选择和使用DSL提供有效的决策依据和指导方法。
全书共57章,分为六个部分:第一部分介绍了什么是DSL,DSL的用途,如何实现外部DS和内部DSL,如何生成代码,语言工作台的使用方法;第二部分介绍了各种DSL,分别讲述了语义模型、符号表、语境变量、构造型生成器、宏和通知的工作原理和使用场景;第三部分分别揭示分隔符指导翻译、语法指导翻译、BNF、易于正则表达式表的词法分析器、递归下降法词法分析器、解析器组合子、解析器生成器、树的构建、嵌入式语法翻译、内嵌解释器、外加代码等;第四部分介绍了表达式生成器、函数序列、嵌套函数、方法级联、对象范围、闭包、嵌套闭包、标注、解析数操作、类符号表、文本润色、字面量扩展的工作原理和使用场景;第五部分介绍了适应性模型、决策表、依赖网络、产生式规则系统、状态机等计算模型的工作原理和使用场景;第六部分介绍了基于转换器的代码生成、模板化的生成器、嵌入助手、基于模型的代码生成、无视模型的代码生成和代沟等内容。
Martin Fowler,世界级软件开发大师,软件开发“教父”,敏捷开发方法的创始人之一,在面向对象分析与设计、UML、模式、极限编程、重构和DSL等领域都有非常深入的研究并为软件开发行业做出了卓越贡献。他乐于分享,撰写了《企业应用架构模式》(荣获第13届Jolt生产力大奖)、《重构:改善既有代码的设计》、《分析模式:可复用的对象模型》、《UML精粹:标准对象建模语言简明指南》等在软件开发领域颇负盛名的著作。
-
KeithLv2013-08-12代码和例子占据的篇幅太多,跳过了;总体来说,翻译很烂!
-
木子奇在浮世2014-01-14翻译水平欠佳,对于DSL缺乏明确定义,内容太过浅显。不过,利用DSL这种思想来设计软件架构是大势所趋。
-
hooliganstreet2014-02-08五星的主题,三星的行文,二星的翻译。前后文引用严重,概念混淆不清,语言啰嗦繁琐。如果你在需要这方面的内容,不妨捏着鼻子读下去。
-
Marvin不慌2022-07-19DSL由来已久,但直到近些年,人们对它的兴趣才有了显著的提升。与之同时,我决定用几年的时间写这本书。为什么呢?虽然我不知道自己是否可以给这一现象提供一个权威的解释,但我可以分享一下自己的观点。在千禧年到来的时候,编程语言世界中(至少在我的企业软件世界中)出现了一种势不可挡的标准化的观念。先是Java,它在几年的时间里风光无限。即使后来微软推出的C#挑战了Java的统治地位,这个新生者依然是一门与Java很相似的语言。新时代的软件开发被编译型的、静态的、面向对象的、语法格式与C类似的语言统治着。(甚至连Visual Basic都被弄得尽可能地看起来接近这些性质。)但人们很快发现,并不是所有的事情都能在Java/C#的霸权下良好运作。有些重要的逻辑用这些语言不能很好地实现,于是XML配置文件兴起了。不久之后,程序员就开玩笑说,他们写的XML代码比Java/C#代码都多。这固然有一部分原因是想在运行时改变系统行为,但也体现了另一种用更容易定制的方式来表达系统行为的各个方面的想法。XML的语法虽然十分烦琐,但确实可以让你定义自己的词汇,而目提供了非常强大的层次结构。不过后来人们实在忍受不了XML的烦琐了。人们抱怨尖括号刺伤了他们的双眼。他们希望既能够享受 XML配置文件带来的好处,又不用承受XML的代价。到了21世纪的头十年,Ruby on Rails横空出世。不管Rails这个实用平台在历史上会占据什么样的位置(我觉得Rails确实是一个优秀的平台),它都已经给人们对框架和库的认识造成了深远的影响。Ruby社区有一种很重要的做事方式:让一切显得更加连贯。换句话说,在调用库的时候,就像用一种专门的语言进行编程一样,这不禁让我们想起一门古老的编程语言——Lisp,这种方式也让人看到了在Java/C#这片坚硬的土地上绽开的花朵:在这两门语言中,连贯接口(fluent i...
-
学习教育
-
学习教育
-
学习教育
-
学习教育
-
学习教育
-
学习教育
-
学习教育
-
学习教育