一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

Visual Studio DSL 入門 3---創(chuàng)建一個簡單的DSL模型

     從這節(jié)開始我們就開始我們的DSL之旅, 首先確保你已經(jīng)安裝了Visual Studio Sdk,并且使用的是Visual Studio 2008.我們先大概創(chuàng)建一個簡單的DSL項目,通過這個項目來了解dsl的開發(fā)環(huán)境和流程.

1. 打開VS.NET ,新建--項目, 點擊其它項目類型--擴展性(Extensibility). 這里列出來了vs.NET擴展類型的項目,包括Addin,VSPackage,Dsl等項目類型,選擇"Domain Specific Lan  guage Designer”,點擊確定 
              未命名  
2.接下來進入DSL創(chuàng)建向?qū)?將會提供四種DSL模型模板提供我們選擇,其實他們只是給我們提供了不同的Sample提供查看,也方便我們更方便的開始.
   Class Diagrams  由UML類圖組成,包含類,接口,關系,組合,屬性,操作等.
              screenshot

 

Component Models 組件模型,子組件組成的組件.
              screenshot
      Minimal Language    只包含一個簡單的空的語言模型
              screenshot
       Task Flow 創(chuàng)建類似UML狀態(tài)圖模型

 

              screenshot

3. 在這里我們選擇Minimal Language,并保持Language Name默認即可,點擊下一步,設計Language的模型文件的后綴名和文件圖標。如果你輸入的后綴名已經(jīng)被使用,中間的框中會列出搜索到的注冊的后綴名列表。在這里我們輸入sm作為后綴名,保持使用默認的圖標.
              未命名

4. 點擊下一步,進入到產(chǎn)品設置,主要設計產(chǎn)品名稱,所屬公司,項目名稱空間.這些信息將會包含在最后生成的項目中,在最后的產(chǎn)品部署中起到作用。在這里我們不進行更改,可以直接保持默認即可.
              screenshot

     5. 下一步進入到簽名設置,在擴展開發(fā)中任何需要部署的Package都需要強命名(將會注冊到GAC),可以選擇自動創(chuàng)建一個Key,也可以選擇使用已有的key.
              screenshot

      6.  我們選擇直接創(chuàng)建強命名key,點擊下一步,這是一個設置總結界面:
              未命名  
   我們直接能查看到所有的設置信息,可以通過上一步下一步進行更改,也可直接點擊左側的導航來定位更改,確認無誤后,點擊完成。向?qū)?Wizard)會自動給我們構建項目.我們暫且不管生成的這些項目結構,切換到解決方案資源管理器,點擊上面的最后面的按鈕“轉(zhuǎn)換所有模板”(Transalte All Template).完成后,點擊Debug運行,就會打開Visual Studio實驗室環(huán)境(Experimental hive),也就是上面的Minimal Language界面,可以大概操作一下了,相當神奇吧,這就完成了第一個DSL項目的開發(fā).同樣你也可以選擇其它三種模型,效果在上面已經(jīng)列出來了.

        7.  我們再來看一下生成的項目結構,整個解決方案總共有兩以下兩個項目組成(其它有三個,另外就是運行后的Testing項目,稍后介紹).
Dsl: 根據(jù)你的模型數(shù)據(jù)(DslDefinition.dsl文件)生成的有關模型的操作,包括模型關系,序列化,圖形,連接器等
       DslPackage:  支撐Dsl能夠在Vs.NET里運行,以及和Vs.NET交互的操作,包括菜單,工具條,游覽器等
       Dsl項目設置成了針對DslPackage項目的友元程序集(通過AssemblyInfo的InternalsVisibleTo),DslPackage中可以直接訪問Dsl中的內(nèi)部成員,DslPackage其實也是根據(jù)DslDefinition.dsl生成的.深入了解這兩個項目的結構是非常有必要的,我們會在隨后的深入過程中介紹。

        8.  查看這兩個項目,發(fā)現(xiàn)大部分都是由后綴名為tt的文件組成,這就是t4文件(Text Templating Transformation Toolkit),類似于ASP,ruby這樣的解釋性語言,讀我們的模型生成cs代碼,可以看到每個tt文件都附屬了一個cs代碼文件.綁定到了每個t4文件可以右鍵運行自定義工具Run Custom Tool,就會調(diào)用TextTemplatingFileGenerator解析t4模板文件生成目標代碼,也可以向我們剛才那個點擊上面的按鈕轉(zhuǎn)換所有的模板文件.

        9. 打開Dsl項目中的DslDefinition.dsl文件.(這是通常情況下我們使用的最重要的文件,包括我們的Dsl的所有的模型元素數(shù)據(jù),它附屬的DslDefinition.dsl.Diagram是它的圖形顯示文件).
                 2010-1-26 18-47-33 

 

               這就是模型設計的主區(qū)域,我們來看一下它的組成部分:
             1). 工具條,這里包括模型,關系,圖形. 這個工具條與.Dsl文件關系。
             2). 模型元數(shù)據(jù). 這些概念的東西我們在下一切會介紹.
             3). 圖形展現(xiàn).  設計模型的展現(xiàn)信息,通過中間的那條線與模型對應起來
             4). Dsl Details編輯窗口, 用來編輯Dsl相關的一些信息,比如關系。
             5). 解決方案文件夾,注意上面的黃色區(qū)域就是”轉(zhuǎn)換所有模板“按鈕,點擊下面的Dsl Explorer頁簽,切換到Dsl瀏覽器.
                 clip_image002[7] 
      這里會列出來當前Dsl文件里的模型,模型元素Element,圖Shape,類型,連接器Connector,Connection Builders,以通讀對模型瀏覽器,工具條,序列化的設置。我們對Dsl的大部分設計都會在這里完成.
      Ok,就到這里,下次將介紹一些基礎概念.

NET技術Visual Studio DSL 入門 3---創(chuàng)建一個簡單的DSL模型,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产永久在线视频 | 在线观看视频www在线观看 | 色老板在线永久免费视频凹凸 | 91极品视频在线观看 | 久久精品中文字幕 | 亚洲欧美日韩精品香蕉 | 骚碰97| 国产一区二区三区毛片 | 国产在视频线精品www666 | 一级做性色a爱片久久片 | 国产精品亚洲欧美一级久久精品 | 有一婷婷色 | 国产成人精品久久一区二区小说 | 欧美日韩国产色综合一二三四 | 激情视频在线播放 | 国产精品成人网 | 亚洲福利在线观看 | 激情小视频网站 | 99久久精品费精品国产 | 国产综合视频 | 337p欧洲亚洲大胆艺术 | 在线观看免费精品国产 | 中文字幕在线观看2023 | 无码精品一区二区三区免费视频 | 亚洲国产激情在线一区 | 伊人久久大香线蕉综合7 | 黄色高清在线观看 | 欧美综合视频在线 | 91精品国产免费久久国语麻豆 | 精品视频午夜一区二区 | 国产大片黄在线看免费 | 国产午夜精品久久久久九九 | 四虎在线永久免费视频网站 | 亚洲第一成人在线 | 精品在线观看免费 | 五月开心久久 | 亚洲欧美一区二区三区四区 | 久久国产精品一区 | 国模精品视频 | 久久99精品久久久久子伦 | 欧美在线观看免费一区视频 |