2024香港最具教育競爭力中學/小學/幼稚園50強龍虎榜
2024香港最具教育競爭力中學/小學/幼稚園排名指南
最近十一年香港最具教育競爭力中學/小學/幼稚園50強完整版榜單:
2024202320222021/202019201820172016201520142013
教育競爭力評比體系說明
校風評比體系說明
服务全球华人的中英文書籍網上書店
您的購物車是空的

VisualStudioSL工具特定領域開發指南

  • 作者:(美) 庫克‧斯蒂夫 等 著 Visual Studio架構師套件開發團隊 譯
  • 出版社: 機械工業出版社
  • 出版時間:2008-06-01
  • 版次:1
  • 商品編號: 10297638

    頁數:384

    紙張:膠版紙

    ISBN:9787111241331

    正文語種:中文


HK$81.00 (速遞費用須知)
購買額滿HK$158免運費
免郵費優惠僅限香港、澳门、
台灣及中國大陸

購買數量:

內容簡介

 

《Visual Studio DSL工具特定領域開發指南》是微軟DSL工具的軟件開發指南。《Visual Studio DSL工具特定領域開發指南》主要講解特定領域開發(DSD)、創建和使用DSL、域模型定義、界面表示、創建/刪除/更新行為、序列化、約束與驗證、生成工件、部署DSL、DSL高級定製功能以及設計DSL。《Visual Studio DSL工具特定領域開發指南》不僅介紹特定領域開發和模型驅動開發等概念,還注重理論與實例相結合,用一個具體DSL應用實例貫穿全書,來詳細介紹如何使用DSL工具開發用戶自己的特定領域語言,從而實現真正的模型驅動軟件開發。
  《Visual Studio DSL工具特定領域開發指南》適合使用DSL工具的軟件開發人員和對DSL感興趣的讀者參考。

作者簡介

  Steve Cook微軟公司企業框架和工具組的一名軟件架構師。在加入微軟之前,他是IBM的一名傑出工程師,在推出UML 2.0規範的過程中,他是IBM公司的代表。作為英國計算機協會的一名院士,他在早期參與了面向對象編程的推廣。

目錄

譯者序

前言
作者簡介
第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.8.1 符號
1.8.2 域模型
1.8.3 生成
1.8.4 序列化
1.8.5 工具集成
1.8.6 綜合應用
1.9  Visual Studio中的DSL
1.10 定製化陷阱
1.11 UML
1.12 小結
第2章 創建和使用DSL
2.1 簡介
2.2 過程:DSL的遞增開發
2.2.1 通用化應用程序:定位變化部分,發現DSL
2.2.2 自頂向下和自底向上
2.2.3 開發DSL:從草圖到域模型
2.2.4 域模型和表示是分離的
2.2.5 改善DSL
2.2.6 由DSL驅動框架
2.2.7 使用DSL
2.2.8 DSL的發展
2.2.9 解析式框架
2.3 在Visual Studio中創建DSL
2.3.1 在Visual Studio中創建一個DSL authoring解決方案
2.3.2 嘗試使用DSL解決方案
2.3.3 定義:DSL
2.3.4 生成設計器代碼
2.3.5 向DSL中添加內容
2.3.6 約束
2.3.7 定製DSL資源管理器窗口
2.3.8 定製屬性窗口
2.3.9 設計器自定義代碼
2.3.10 DSL文件的序列化格式
2.3.11 由DSL驅動的應用程序
2.3.12 部署
2.4 第二個DSL例子:工程定義DSL
2.5 DSL工具的架構
2.5.1 生成的代碼
2.5.2 DSL工具的架構分層
2.5.3 框架程序集
2.5.4 DSL項目的內容
2.5.5 DslPackage項目的內容
2.6 小結
第3章 域模型定義
3.1 簡介
3.2 域模型設計器
3.3 駐留內存中的Store
3.4 域類
3.5 域關係
3.5.1 嵌入關係
3.5.2 重數
3.5.3 引用關係
3.5.4 關係的派生
3.6 生成不包含任何形狀的設計器「
3.7 生成的代碼
3.8 更多關於域類的討論
3.9 更多關於域屬性的討論
3.9.1 自動計算的屬性
3.9.2 DomainPropertyInfo
3.10 更多關於域關係和角色的討論
3.10.1 訪問鏈接
3.10.2 更多關於關係派生的討論
3.10.3 DomainRelationshipInfo和DomainRoleInfo
3.11 更多關於Store的話題
3.11.1 查找元素
3.11.2 分區(Partitions)
3.11.3 規則
3.11.4 DomainModelInfo
3.12 小結
第4章 界面表示
4.1 簡介
4.2 圖形符號概述
4.3 圖和編輯器
4.3.1 圖表
4.3.2 編輯器
4.3.3 設計器
4.3.4 自定義編輯器
4.4 形狀
4.4.1 形狀分類
4.4.2 形狀映射
4.5 連接器
4.5.1 連接器解析和外觀
4.5.2 連接器和繼承
4.5.3 連接器映射
4.5.4 高級連接器映射
4.6 裝飾器
4.6.1 裝飾器的類型
4.6.2 定位
4.6.3 裝飾器映射
4.7 在代碼中自定義圖形符號
4.7.1 多行文本裝飾器
4.7.2 圖像形狀變量
4.7.3 設置背景圖片
4.7.4 設置自定義連接點
4.7.5 更改連接器的路線樣式
4.8 瀏覽器
4.8.1 默認外觀
4.8.2 更改窗口圖標和標籤
4.8.3 自定義的節點外觀
4.8.4 隱藏節點
4.8.5 通過代碼自定義瀏覽器
4.9 屬性窗口
4.9.1 默認的屬性窗口外觀
4.9.2 類別、名稱和說明
4.9.3 隱藏屬性和使屬性只讀
4.9.4 屬性的傳遞
4.9.5 通過代碼自定義屬性窗口
4.10 小結
第5章 創建、刪除和更新行為
5.1 簡介
5.2 元素的創建
5.2.1 工具箱
5.2.2 元素合併指令
5.2.3 自定義元素合併指令
5.2.4 Re-Parenting與元素合併指令
5.2.5 自定義元素工具原型
5.3 連接構造器
5.3.1 多個源角色和目標角色的指令
5.3.2 多鏈接的連接指令
5.3.3 自定義連接構造器
5.4 元素的刪除
5.4.1 默認的刪除傳播規則
5.4.2 控制刪除傳播
5.4.3 自定義刪除傳播
5.5 小結
第6章 序列化
6.1 簡介
6.2 保存和加載模型和圖表
6.3 模型的XML文件格式
6.4 元素和屬性
6.5 關係
6.6 交叉引用
6.6.1 使用Guid作為引用
6.6.2 使用qualified name作為引用
6.6.3 對鏈接引用
6.7 圖表的XML文件格式
6.8 版本控制和遷移
6.9 XML模式文件
6.10 自定義序列化
6.10.1 修改XML元素名稱
6.10.2 ElementData
6.10.3 實現你自己的序列化器
6.11 生成的序列化代碼
6.11.1 自定義的序列化代碼
6.11.2 自定義對模式文件的影響
6.12 小結
第7章 約束與驗證
7.1 簡介
7.2 選擇硬約束還是軟約束
7.3 DSL工具中的軟約束
7.3.1 驗證方法
7.3.2 啟用驗證
7.3.3 觸發驗證
7.3.4 定製驗證類別
7.3.5 驗證行為的繼承
7.3.6 驗證輸出
7.3.7 在Visual Studio IDE之外使用驗證
7.3.8 針對外部數據的驗證
7.4 DSL工具中的硬約束
7.5 規則
7.6 硬、軟約束相結合
7.7 小結
第8章 生成工件
8.1 簡介
8.2 工件生成方式
8.2.1 擴展樣式表轉換語言(XSLT)
8.2.2 使用特定領域API
8.2.3 一種基於模板的方法
8.3 複雜關係和同步
8.4 模板化過程
8.4.1 第一個模板
8.4.2 與生成代碼相關的模型數據
8.4.3 開始創建模板庫
8.5 文本模板的語法
8.5.1 指令
8.5.2 自定義指令
8.5.3 控制塊的類型
8.6 實際應用中的大規模工件生成問題
8.7 高級自定義功能
8.7.1 文本模板的架構
8.7.2 自定義宿主
8.7.3 自定義指令處理器
8.7.4 自定義業務流程
8.8 小結
第9章 部署DSL
9.1 簡介
9.2 安裝一個設計器所需要的文件
9.3 創建一個安裝項目
9.4 安裝項目內容
9.5 自定義安裝程序
9.5.1 自定義InstallerDefinition.dslsetup
9.5.2 自定義settings.ini
9.5.3 自定義Strings.wxl
9.5.4 自定義Product.ico
9.6 dslsemp文件的格式
9.6.1
9.6.2
9.6.3
9.6.4
9.6.5
9.6.6
9.6.7
9.6.8
9.7 更新安裝文件
9.8 包加載鍵
9.9 為生成代碼部署文本模板
9.9.1 在Debugging項目中創建項目模板
9.9.2 使用文本模板包含文件
9.9.3 在VS項模板中包含文本模板
9.10 小結
第10章 DSL高級定製功能
10.1 簡介
10.2 定製工具
10.2.1 部分類
10.2.2 雙重派生——The Generation Gap
10.2.3 自定義構造函數
10.2.4 自定義開關
10.2.5 自定義重載
10.3 對更改的響應
10.3.1 屬性值變化處理「On Value Changed/Changing」
10.3.2 計算域屬性
10.3.3 自定義存儲域屬性
10.3.4 值變化通知
10.3.5 把模型更改傳遞給形狀:On AssociatedPropertyChanged
10.3.6 規則
10.3.7 Store事件
10.3.8 .NET事件處理程序
10.3.9 事件重載
10.3.10 邊界規則
10.3.11 更改傳遞技術和約束技術的小結
10.4 DSL外殼程序體系架構
10.5 如何增加菜單命令
10.5.1 為每個命令增加一個命令標識
10.5.2 增量菜單資源索引
10.5.3 添加命令到命令集
10.5.4 定義命令處理程序
10.5.5 命令處理程序的較好實現
10.5.6 編譯運行
10.5.7 為標準的命令提供處理器
10.6 在另一個界面中構建DSL圖
10.7 實現複製粘貼
10.7.1 複製方法
10.7.2 粘貼方法
10.7.3 註冊菜單處理程序
10.8 形狀容器
10.8.1 子形狀
10.8.2 使用內嵌子形狀的DSL
10.8.3 使用規則實現形狀包含
10.9 小結
第11章 設計DSL
11.1 簡介
11.2 識別可變性
11.2.1 自底向上還是自頂向下
11.2.2 特徵樹
11.2.3 特徵樹與DSL
11.3 開發域模型
11.3.1 擬訂域快照
11.3.2 從快照中獲得的域模型
11.4 開發標記法
11.4.1 項目定義標記法
11.4.2 問題狀態標記法
11.4.3 常見的標記法
11.5 定義驗證約束
11.5.1 內部一致性
11.5.2 外部數據及模型的一致性
11.6 開發和演化框架
11.6.1 比較生成型和解釋型
11.6.2 演化一個通用框架
11.6.3 從DSL驅動生成框架
11.7 測試
11.7.1 驗證約束
11.7.2 生成器模板
11.7.3 生成的代碼
11.7.4 規則
11.7.5 語言定義
11.8 改進DSL
11.9 什麼是一個好的DSL
11.9.1 適當的標記法:正則表達式的一個例子
11.9.2 候選的標記法
11.9.3 圖不是語法樹
11.10 小結
11.11 總結


我們接受以下的付款方式︰VISA、Mastercard、JCB 信用卡、PayPal、銀行轉帳。