Visual Studio DSL工具特
《Visual Studio DSL工具特定领域开发指南》是微软DSL工具的软件开发指南。《Visual Studio DSL工具特定领域开发指南》主要讲解特定领域开发(DSD)、创建和使用DSL、域模型定义、界面表示、创建/删除/更新行为、序列化、约束与验证、生成工件、部署DSL、DSL高级定制功能以及设计DSL。《Visual Studio DSL工具特定领域开发指南》不仅介绍特定领域开发和模型驱动开发等概念,还注重理论与实例相结合,用一个具体DSL应用实例贯穿全书,来详细介绍如何使用DSL工具开发用户自己的特定领域语言,从而实现真正的模型驱动软件开发。 《Visual Studio DSL工具特定领域开发指南》适合使用DSL工具的软件开发人员和对DSL感兴趣的读者参考。
基本信息
- 书名
Visual Studio DSL工具特
- 外文名
Domain-specific Development with Visual Studio DSL Tools
- 作者
库克·史蒂夫 (Steve Cook) Gareth Jones
- 出版社
机械工业出版社
- 出版日期
2008年6月1日
基本介绍
内容简介
《Visual Studio DSL工具特定领域开发指南》深入地探讨了以下内容: 判断DSL是否适合您。 对DSL和其他模型驱动的开发方法进行对比。 DSL的定义、调优和演化:模型、界面表示、创建、更新、序列化、限制条件、验证以及其他内容。 在编写很少代码、甚至不编写代码的情况下,为新定义的DSL生成可视化设计器。 利用简单的文本模板,为您的模型生成应用程序代码,极大地提高生产效率。 自动生成配置文件、资源和其他工件。 快速简单地在不同组织中部署可视化设计器。 为特定的过程需求定制可视化设计器。 作为一种为某些特定(横向或纵向)领域而定制的语言,特定领域语言(DSL)正在软件工程师和架构师之间孕育一个不断增长的兴奋因子。DSL给软件的创建和演化带来了新的敏捷性。与标准的程序代码相比,DSL使得设计考虑的不同方面都能够以更加贴近系统需求的形式表示出来,从而极大地减少大规模项目和生产线的开发成本。在这本具有突破性的著作中,4名杰出的专家向读者介绍了DSL的使用方式,以及在您的环境中怎样最好地利用它们。 通过阅读《Visual Studio DSL工具特定领域开发指南》,首先您可以掌握可应用于所有平台的DSL概念和技术。然后,您将学会怎样通过微软公司新推出的功能强大的DSL工具(这个工具集正是由《Visual Studio DSL工具特定领域开发指南》作者所设计的)来创建和使用DSL,以及怎样定义DSL并用Visual Studio内建的建模技术来生成可视化设计器。
作者简介
Steve Cook微软公司企业框架和工具组的一名软件架构师。在加入微软之前,他是IBM的一名杰出工程师,在推出UML2.0规范的过程中,他是IBM公司的代表。作为英国计算机协会的一名院士,他在早期参与了面向对象编程的推广。 Gareth Jones DSL工具项目的开发经理。自从1997年加入微软公司以来,他的经历包括了建立企业级解决方案,管理咨询团对,以及领导开发了微软(英国)公司的中小企业门户。 StuartcKent于2003年加入微软公司并成为DSLI具项目的项目经理.在此之前,他在Kent大学进行对模型驱动开发的研究,并且是UML2.0和MOF2.0标准的重要贡献者。 AlanCameronWills在2003年加入微软公司之前的10年时间里是一名方法论咨询师。他是基于组件开发方法“催化法”的创建者之一。
图书目录
译者序 序 前言 作者简介 第1章 特定领域的开发 1.1 简介 1.2 特定领域开发 1.3 举例 1.3.1 软件定义电路 1.3.2 嵌入式系统 1.3.3 设备界面 1.3.4 软件开发过程定制 1.4 优点 1.5 语言 1.6 文本DSL 1.7 图形DSL 1.7.1 表示结构的规范 1.7.2 表示行为的规范 1.8 图形DSL的相关内容 1.9 Visual Studio中的DSL 1.10 定制化陷阱 1.11 UML 1.12 小结 第2章 创建和使用DSL 第3章 域模型定义 第4章 界面表示 第5章 创建、删除和更新行为 第6章 序列化 第7章 约束与验证 第8章 生成工件 第9章 部署DSL 第10章 DSL高级定制功能 第11章 设计DSL
文摘
第3章 域模型定义 3.1 简介 第2章介绍了开发一个DSL需要创建的不同组成部分:域模型,图形符号和工具箱,资源管理器和属性窗口,验证,序列化和部署。同时第2章还介绍了DSL设计器,DSL设计者可以运用这一工具来定义新语言的不同组件。本章将描述怎样定义域模型,并从域模型生成的DSL工具的角度来解释域模型的含义。 每一个DSL的核心都是一个域模型。它定义了这一语言所代表的各种概念,这些概念的属性,以及它们之间的关系。所有的DSL用户都必须对这些有一定程度的了解,因为用户在使用DSL时创建和操作的每一个元素都是用域模型来描述的。域模型就像DSL的语法;它定义了组成模型的要素并给出了将这些要素互相联系在一起的规则。 域模型还为语言的其他方面的建立提供了基础。图形符号、工具箱、资源管理器、属性窗口、验证、序列化和部署的定义都建立在域模型上。域模型还用来生成可用于编程的API,用户可以用这些API来定制和扩展语言,或在模板中用这些API来生成代码或其他文本工件。如果你熟悉面向对象设计或者面向对象编程的话,那么域建模(Domain Modeling)的基本概念对你来说就显得非常简单了。本章将用第2章中介绍的Issue State示例来介绍域建模中所有的基本思想。同时,为了更加细致地探讨域建模中的部分细节,通过对Issue State示例进行改进来介绍域建模中的一些关键问题。