图书介绍
Visual Studio DSL工具特定领域开发指南【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- (美)库克·斯蒂夫,GarethJones,StuartKent,AlanCameronWills著;VisualStudio架构师套件开发团队译 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111241331
- 出版时间:2008
- 标注页数:384页
- 文件大小:136MB
- 文件页数:403页
- 主题词:
PDF下载
下载说明
Visual Studio DSL工具特定领域开发指南PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 特定领域的开发1
1.1 简介1
1.2 特定领域开发1
1.3 举例3
1.3.1 软件定义电路7
1.3.2 嵌入式系统7
1.3.3 设备界面7
1.3.4 软件开发过程定制8
1.4 优点8
1.5 语言9
1.6 文本DSL11
1.7 图形DSL15
1.7.1 表示结构的规范16
1.7.2 表示行为的规范17
1.8 图形DSL的相关内容18
1.8.1 符号18
1.8.2 域模型18
1.8.3 生成19
1.8.4 序列化19
1.8.5 工具集成20
1.8.6 综合应用20
1.9 VisualStudio中的DSL20
1.10 定制化陷阱24
1.11 UML26
1.12 小结30
第2章 创建和使用DSL31
2.1 简介31
2.2 过程:DSL的递增开发31
2.2.1 通用化应用程序:定位变化部分*发现DSL31
2.2.2 自顶向下和自底向上35
2.2.3 开发DSL:从草图到域模型36
2.2.4 域模型和表示是分离的37
2.2.5 改善DSL38
2.2.6 由DSL驱动框架38
2.2.7 使用DSL40
2.2.8 DSL的发展42
2.2.9 解析式框架42
2.3 在VisualStudio中创建DSL42
2.3.1 在VisualStudio中创建一个DSLauthoring解决方案43
2.3.2 尝试使用DSL解决方案46
2.3.3 定义DSL48
2.3.4 生成设计器代码49
2.3.5 向DSL中添加内容50
2.3.6 约束52
2.3.7 定制DSL资源管理器窗口53
2.3.8 定制属性窗口54
2.3.9 设计器自定义代码56
2.3.10 DSL文件的序列化格式56
2.3.11 由DSL驱动的应用程序57
2.3.12 部署58
2.4 第二个DSL例子:工程定义DSL59
2.5 DSL工具的架构60
2.5.1 生成的代码60
2.5.2 DSL工具的架构分层60
2.5.3 框架程序集61
2.5.4 DSL项目的内容62
2.5.5 DslPackage项目的内容64
2.6 小结65
第3章 域模型定义66
3.1 简介66
3.2 域模型设计器66
3.3 驻留内存中的Store68
3.4 域类69
3.5 域关系74
3.5.1 嵌入关系76
3.5.2 重数78
3.5.3 引用关系79
3.5.4 关系的派生80
3.6 生成不包含任何形状的设计器82
3.7 生成的代码82
3.8 更多关于域类的讨论87
3.9 更多关于域属性的讨论89
3.9.1 自动计算的属性91
3.9.2 DomainPropertyInfo91
3.10 更多关于域关系和角色的讨论92
3.10.1 访问链接93
3.10.2 更多关于关系派生的讨论95
3.10.3 DomainRelationshipInfo和DomainRoleInfo97
3.11 更多关于Store的话题97
3.11.1 查找元素97
3.11.2 分区(Partitions)98
3.11.3 规则98
3.11.4 DomainModelInfo98
3.12 小结99
第4章 界面表示100
4.1 简介100
4.2 图形符号概述100
4.3 图和编辑器103
4.3.1 图表103
4.3.2 编辑器105
4.3.3 设计器106
4.3.4 自定义编辑器106
4.4 形状110
4.4.1 形状分类110
4.4.2 形状映射116
4.5 连接器122
4.5.1 连接器解析和外观123
4.5.2 连接器和继承124
4.5.3 连接器映射124
4.5.4 高级连接器映射125
4.6 装饰器125
4.6.1 装饰器的类型125
4.6.2 定位127
4.6.3 装饰器映射127
4.7 在代码中自定义图形符号129
4.7.1 多行文本装饰器129
4.7.2 图像形状变量130
4.7.3 设置背景图片132
4.7.4 设置自定义连接点133
4.7.5 更改连接器的路线样式135
4.8 浏览器136
4.8.1 默认外观136
4.8.2 更改窗口图标和标签138
4.8.3 自定义的节点外观139
4.8.4 隐藏节点142
4.8.5 通过代码自定义浏览器143
4.9 属性窗口143
4.9.1 默认的属性窗口外观143
4.9.2 类别、名称和说明144
4.9.3 隐藏属性和使属性只读145
4.9.4 属性的传递145
4.9.5 通过代码自定义属性窗口146
4.10 小结147
第5章 创建、删除和更新行为148
5.1 简介148
5.2 元素的创建148
5.2.1 工具箱148
5.2.2 元素合并指令150
5.2.3 自定义元素合并指令157
5.2.4 Re-Parenting与元素合并指令160
5.2.5 自定义元素工具原型160
5.3 连接构造器164
5.3.1 多个源角色和目标角色的指令165
5.3.2 多链接的连接指令166
5.3.3 自定义连接构造器169
5.4 元素的删除174
5.4.1 默认的删除传播规则174
5.4.2 控制删除传播175
5.4.3 自定义删除传播176
5.5 小结178
第6章 序列化180
6.1 简介180
6.2 保存和加载模型和图表180
6.3 模型的XML文件格式181
6.4 元素和属性183
6.5 关系184
6.6 交叉引用186
6.6.1 使用Guid作为引用187
6.6.2 使用qualifiiedname作为引用188
6.6.3 对链接引用189
6.7 图表的XML文件格式191
6.8 版本控制和迁移194
6.9 XML模式文件195
6.10 自定义序列化196
6.10.1 修改XML元素名称197
6.10.2 ElementData199
6.10.3 实现你自己的序列化器201
6.11 生成的序列化代码201
6.11.1 自定义的序列化代码207
6.11.2 自定义对模式文件的影响208
6.12 小结209
第7章 约束与验证210
7.1 简介210
7.2 选择硬约束还是软约束211
7.3 DSL工具中的软约束213
7.3.1 验证方法214
7.3.2 启用验证216
7.3.3 触发验证219
7.3.4 定制验证类别220
7.3.5 验证行为的继承223
7.3.6 验证输出223
7.3.7 在VisualStudioIDE之外使用验证224
7.3.8 针对外部数据的验证224
7.4 DSL工具中的硬约束225
7.5 规则226
7.6 硬、软约束相结合229
7.7 小结236
第8章 生成工件237
8.1 简介237
8.2 工件生成方式238
8.2.1 扩展样式表转换语言(XSLT)238
8.2.2 使用特定领域API241
8.2.3 一种基于模板的方法245
8.3 复杂关系和同步246
8.4 模板化过程248
8.4.1 第一个模板250
8.4.2 与生成代码相关的模型数据260
8.4.3 开始创建模板库262
8.5 文本模板的语法263
8.5.1 指令263
8.5.2 自定义指令265
8.5.3 控制块的类型267
8.6 实际应用中的大规模工件生成问题269
8.7 高级自定义功能270
8.7.1 文本模板的架构270
8.7.2 自定义宿主272
8.7.3 自定义指令处理器274
8.7.4 自定义业务流程276
8.8 小结282
第9章 部署DSL283
9.1 简介283
9.2 安装一个设计器所需要的文件283
9.3 创建一个安装项目285
9.4 安装项目内容288
9.5 自定义安装程序288
9.5.1 自定义InstallerDefinition.dslsetup288
9.5.2 自定义settings.ini289
9.5.3 自定义Strings.wxl289
9.5.4 自定义Product.ico289
9.6 dslsetup文件的格式290
9.6.1 <dsIPackage>291
9.6.2 <licenseAgreement>292
9.6.3 <supportingFiles>292
9.6.4 <vsltemTemplates>293
9.6.5 <dsISchemas>293
9.6.6 <vsProjectTemplates>293
9.6.7 <mergeModules>294
9.6.8 <textTemplates>294
9.7 更新安装文件295
9.8 包加载键296
9.9 为生成代码部署文本模板298
9.9.1 在Debugging项目中创建项目模板298
9.9.2 使用文本模板包含文件299
9.9.3 在VS项模板中包含文本模板300
9.10 小结302
第10章 DSL高级定制功能303
10.1 简介303
10.2 定制工具303
10.2.1 部分类303
10.2.2 双重派生——TheGenerationGap303
10.2.3 自定义构造函数305
10.2.4 自定义开关305
10.2.5 自定义重载305
10.3 对更改的响应306
10.3.1 属性值变化处理“OnValueChanged/Changing”306
10.3.2 计算域属性308
10.3.3 自定义存储域属性309
10.3.4 值变化通知310
10.3.5 把模型更改传递给形状:OnAssociatedPropertyChanged311
10.3.6 规则314
10.3.7 Store事件318
10.3.8 NET事件处理程序320
10.3.9 事件重载321
10.3.10 边界规则321
10.3.11 更改传递技术和约束技术的小结325
10.4 DSL外壳程序体系架构326
10.5 如何增加菜单命令328
10.5.1 为每个命令增加一个命令标识329
10.5.2 增量菜单资源索引329
10.5.3 添加命令到命令集330
10.5.4 定义命令处理程序331
10.5.5 命令处理程序的较好实现333
10.5.6 编译运行333
10.5.7 为标准的命令提供处理器333
10.6 在另一个界面中构建DSL图334
10.7 实现复制粘贴335
10.7.1 复制方法336
10.7.2 粘贴方法337
10.7.3 注册菜单处理程序338
10.8 形状容器340
10.8.1 子形状340
10.8.2 使用内嵌子形状的DSL341
10.8.3 使用规则实现形状包含344
10.9 小结350
第11章 设计DSL352
11.1 简介352
11.2 识别可变性353
11.2.1 自底向上还是自顶向下353
11.2.2 特征树354
11.2.3 特征树与DSL355
11.3 开发域模型355
11.3.1 拟订域快照356
11.3.2 从快照中获得的域模型358
11.4 开发标记法362
11.4.1 项目定义标记法363
11.4.2 问题状态标记法364
11.4.3 常见的标记法367
11.5 定义验证约束367
11.5.1 内部一致性368
11.5.2 外部数据及模型的一致性369
11.6 开发和演化框架370
11.6.1 比较生成型和解释型370
11.6.2 演化一个通用框架372
11.6.3 从DSL驱动生成框架373
11.7 测试374
11.7.1 验证约束375
11.7.2 生成器模板376
11.7.3 生成的代码376
11.7.4 规则377
11.7.5 语言定义377
11.8 改进DSL377
11.9 什么是一个好的DSL378
11.9.1 适当的标记法:正则表达式的一个例子379
11.9.2 候选的标记法380
11.9.3 图不是语法树382
11.10 小结383
11.11 总结383
热门推荐
- 166465.html
- 1982277.html
- 63540.html
- 1301412.html
- 3479224.html
- 2456398.html
- 2925390.html
- 1667061.html
- 117602.html
- 15777.html
- http://www.ickdjs.cc/book_400130.html
- http://www.ickdjs.cc/book_1824765.html
- http://www.ickdjs.cc/book_3094285.html
- http://www.ickdjs.cc/book_524555.html
- http://www.ickdjs.cc/book_1576017.html
- http://www.ickdjs.cc/book_72858.html
- http://www.ickdjs.cc/book_1048851.html
- http://www.ickdjs.cc/book_2953545.html
- http://www.ickdjs.cc/book_315624.html
- http://www.ickdjs.cc/book_362307.html