国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

淺析Visual Studio中的特定領域開發

開發 后端
在這里我們將討論的是Visual Studio中的DSL,也就是特定領域開發的內容。可以說在Visual Studio中使用SQL和HTML都屬于DSL的范圍。

本文將列數Visual Studio中的DSL,也就是特定領域開發的方面會用到的工具,包括微軟以及其他企業開發的平臺。這些工具能為大家的.NET開發之路提供更多的便利。

什么是特定領域開發和DSL

特定領域開發是用來解決重復發生的問題的方法,針對每次發生的問題,通過進行總結和分析,他們之間相同的方面可以一次性的解決.而經常變化的方面,可以采用一種特殊的語言表達.針對這個特殊語言,我們可以建立模型或者表達式,然后插入到固定部分.

對于我們軟件行業的解決方案來說,固定部分一般采用傳統的設計和實現方式,可以為框架,平臺,解釋器或者編程接口.提供可擴展性,具有高度的抽象性和可復用性.而特定領域語言專門用來創建變化的部分,從而使整個解決方案可具有可應用性.

特定領域語言(DSL,Domain Specific Language)是一種特別用來描述某一專業領域內涵的描述語言,其實它并不陌生, HTML ,SQL都算的上是DSL的例子.

幾種其它DSL

MPS http://www.jetbrains.com/mps/ JetBrains公司的DSL工具,通過這個平臺可以直接定義規則,生成代碼

MPS

MetaEdit+ http://www.metacase.com/ 圖形化的DSL工具

MetaEdit+

Oslo http://msdn.microsoft.com/zh-cn/data/ee460940(en-us).aspx 微軟新推出的圖形化DSL語言,但是Oslo和我們要介紹的DSL Toolkit還是有些區別的,這里有一些介紹http://blogs.msdn.com/keith_short/archive/2008/11/06/oslo-and-the-dsl-toolkit.aspx .Oslo由 “M"語言,工具Quadrant,關系存儲組成.

oslo

DSL工具

GMF,EMF http://www.eclipse.org/modeling/gmf/ 使用 Eclipse Modeling Framework (EMF) 和 Graphical Modeling Framework (GMF) 技術來為領域特定語言(DSL)產生領域特定建模(DSM)輔助工具

輔助工具

什么是Visual Studio DSL

Vistual Studio DSL 工具,是微軟針對特定領域開發而專門設計的.包含在Vistual Studio SDK中(vs 2010中將是單獨安裝),允許開發人員自行設計專屬的圖形化工具,它內置了模型的相關支持,以及模型與圖形之間的支持,還包括對模型的驗證,規則,事務的支持,同時還允許開發人員在結合VS.NET的一些擴展VSX一同使用.比如工具條,菜單等.可以將模型與T4一同使用,從而生成目標代碼.Vs.Net現在的類設計器,分布式系統設計器(Distributed System Designer),LinqToSql設計器,EntityFramework設計器都是基于VS.NET DSL開發的,VS 2010新增了UML Modeling Project,終于提供了對類圖,時序圖,用例圖等的支持,這也是基于Vs.NET DSL來實現的。

#T#

為什么要使用DSL工具

上面介紹了幾種DSL工具,但是我們為什么要使用它呢?它又能給我們帶來什么呢? 很關鍵的一點,DSL和UML不同,是用來解決問題的,而不是描述問題.如果你正在你的工作和解決方案中重復編寫著相同或者相似的代碼,而且這些重復的代碼能夠單獨出來采用生成的方式,那么你就可以考慮結合DSL工具來生成這些代碼.

可能有人會說,那這和使用現有的這些基于數據庫的代碼生成工具(Codesmith,李天平的codematic等)又有何不同呢?DSL是站在領域專家的高度,而非軟件開發專家來開始解決問題,如果需要對數據庫進行設計,然后再生成代碼Coding,那么你這個工具只能說是開發人員的一個輔助工具,只是面對實際開發人員,而這在大型的軟件系統當中會有些力不從心.

采用DSL的開發過程定制

1.找出問題的固定部分,并把這些固定固定部分放在通用架構或平臺中.通用的部分基本上都是我們根據長期的經驗和積累抽象出來固定的.比如我們使用的Enterprise Library中已經將數據訪問操作,日志操作,驗證緩存等封裝起來提供調用.

2.識別可變性和發現DSL. 找出其中變化的部分,并設計DSL, 通過DSL的表達式或模型提供給問題一個解決方案. 在使用Enterprise Library過程中,你發現其中大部分的變化的部分其實也相對"固定",他們還是基于你的模型,基于你的實體模型,服務模型,如果把這些元數據抽象出來,通過DSL來實現這些元數據的配置,那么就可以把這些部分直接生成到你的目標解決方案中.

優勢

1.大幅度的提高生產率. 生成代碼可比人工復制粘貼快多了。

2.使系統的規范性更強. 每個開發人員對某一個功能的都會有不同的實現方式,采用DSL設計模型,結合代碼生成能夠使功能的實現相對固定.

3.降低了犯錯的機會.

4.使非開發人員,那些顧問和售前,也能夠直接了解模型。使開發過程提前,甚至顧問的調研需求時,就可以使用工具和客戶溝通,抽象需求,從而提供給二次開發人員使用.

 

5.能夠在較高的抽象層次對解決方案進行驗證,過早的發現問題.

 

6.可以基于同一個模型配置不同的技術實現過程.降低技術難度和工作量。比如上次介紹的Sculpture,就可以針對不同的層次,提供不同的技術選擇。針對同一個模型,我們可以選擇使用Entity Framework或者NHibernate。UI層可以選擇Asp.net MVC,Sliverlight,WPF等不同的實現方式.

 

7.DSL不局限于生成我們的技術方案,還可以用來生成構建腳本,文檔,計劃等。

 

8.使解決方案進行技術轉移變得相對容易,通過修改生成器或解釋器就可以做到。模型元數據相對固定,使我們的解決方案相對規范。我們只需要生成不同的代碼就可以了。

 

當然,這也是有前提的,一是開發DSL,進行抽象整合需要成本。二是并不是所有的解決方案都適合使用DSL,比如一個門戶網站,可能相對固定的部門很少,可以定制的部分也很少,就不適合使用,如果對不適合使用的強制使用就會陷進定制化陷阱。在設計和開發時,一定要保留一定的靈活性,因為不可能所有的代碼都能夠生成,你必須提供一定的擴展性,保證能夠對生成的代碼進行擴展。另外就是一定要保證實現的規范,實現方式太多,會導致你的DSL過于復雜。有些時候你甚至需要舍棄一些實現,舍棄一些需求。“簡單的問題的解決應該簡單化,復雜問題的解決應該可能化”(smalltalk的創始人AlianKay).

 

系列介紹

 

本系列一開始將通過一個案例簡單的介紹DSL的開發流程,這個案例來源于DSL Tools Lab,主要介紹DSL的一些簡單開發方法,其中也包括T4與DSL結合完成代碼生成,DSL工具的部署. 主要是完成一個狀態機的DSL應用,具體我們會在接下來一一介紹。

 

介紹

對DSL的開發有過簡單的了解后,我們會對完成一個實際使用的完整的開發工具的開發。在這個過程中也會包含介紹DSL設計和開發過程以及應該注意的問題,當然也會包括DSL以及VSX的一些比較深層次的應用。

設計

 

 

參考

 

Visual Studio DSL 工具特定領域開發指南 Doamin-Specific Development With Visual Studio DSL Tools

原文標題:Visual Studio DSL 入門 1

鏈接:http://www.cnblogs.com/lonely7345/archive/2010/01/24/1655495.html

 

責任編輯:彭凡 來源: 博客園
相關推薦

2010-02-02 09:38:29

Visual Stud

2010-01-25 16:58:15

C++程序

2009-11-02 14:16:43

Visual Stud

2010-02-23 16:24:47

Visual Stud

2010-07-20 08:43:00

Visual Stud

2009-11-03 09:21:26

Visual Stud

2009-09-27 08:57:29

Visual Stud

2009-10-20 09:59:44

Visual Stud

2009-11-02 14:06:59

Visual Stud

2024-02-27 12:42:38

開發前端

2009-06-23 10:36:32

移動開發isual Studi

2010-03-01 09:16:22

Visual Stud

2010-11-16 09:23:13

敏捷開發Visual Stud

2010-01-18 14:41:52

Visual C++開

2009-08-05 11:02:30

Visual Stud

2010-09-13 08:48:04

Visual Stud

2010-05-21 09:10:56

Visual Stud

2011-02-13 17:10:28

Visual Stud

2009-12-16 14:34:32

Visual Stud

2011-01-10 08:48:53

點贊
收藏

51CTO技術棧公眾號

欧美精品18videos性欧美| 成人动漫在线视频| 中文在线手机av| 中文字幕在线观看不卡视频| 秋霞在线观看一区二区三区| 欧美在线播放| 国产精品一久久香蕉国产线看观看| 第四色男人最爱上成人网| 欧美va在线播放| 日本激情在线观看| 欧洲色大大久久| 色播色播色播色播色播在线| 亚洲444eee在线观看| 免费特级黄毛片| 亚洲欧美日韩精品久久久久| 九七影院理论片| 中文字幕中文在线不卡住| 尤蜜粉嫩av国产一区二区三区| jvid福利写真一区二区三区| 男女激情免费视频| 99国产欧美另类久久久精品| 热99这里只有精品| 成人动漫一区二区三区| 激情伊人五月天| 成人av电影在线网| 欧美深夜福利视频| 99久久久国产精品免费蜜臀| 欧美视频在线播放一区| 91蜜桃传媒精品久久久一区二区| 色综合久久久久无码专区| 久久久久久久久一| a在线观看免费视频| 最新日韩av在线| 中出在线观看| 在线看国产一区| 18av在线播放| 精品偷拍各种wc美女嘘嘘| 婷婷六月国产精品久久不卡| 色老头一区二区三区在线观看| 99精品视频在线免费播放| 午夜欧美不卡精品aaaaa| 青青草国产成人a∨下载安卓| 亚洲一区亚洲二区亚洲三区| 在线成人h网| 女同性恋一区二区| 99国产精品国产精品毛片| 午夜伦伦电影理论片费看| 精品高清一区二区三区| 欧美高清另类hdvideosexjaⅴ| 国产亚洲欧洲在线| 天堂社区 天堂综合网 天堂资源最新版 | 国产精品三级av在线播放| 欧美亚洲国产一区在线观看网站| 成人免费高清| 国产91精品一区二区麻豆网站| 亚洲自拍偷拍色图| 美女视频网站久久| 欧美伦理片在线看| 亚洲乱码一区二区三区在线观看| 日本成在线观看| 欧美国产在线视频| 日本va欧美va精品发布| 欧美 国产 精品| 国产拍揄自揄精品视频麻豆| 欧美女优在线| 久久青青草原一区二区| 日韩高清不卡一区二区三区| 男插女免费视频| 国产亚洲自拍一区| 免费在线一级视频| 欧美大片顶级少妇| 国产精品18| 91亚洲精品一区二区| 久久成人综合网| 成人黄色电影网址| 欧美日韩国产美女| 国产视频一区二| 成人网页在线免费观看| 精品亚洲国内自在自线福利| jizz蜜桃视频在线观看| 91精品欧美久久久久久动漫| 日韩精品成人| 国产一区喷水| 亚洲国产成人私人影院tom| 免费av在线网站| 91精品国产99| 国产一区二区精品在线观看| 男男电影完整版在线观看| 久久国产精品久久久久| 午夜宅男久久久| 国产羞羞视频在线观看| 日韩电影在线观看中文字幕 | 亚洲精品在线视频| 国产一区二区三区天码| 一区二区在线中文字幕电影视频| 亚洲国产精品一区二区www在线| 黑人巨大精品欧美一区二区桃花岛| 国产福利成人在线| 国产精品一区二区不卡| 免费人成黄页在线观看忧物| 欧美成在线视频| 久久se这里有精品| 久艹在线视频| 欧美极品美女电影一区| 国产精一区二区三区| 日本www在线| 国产精选久久久久久| 国产欧美一区二区精品久导航| 黑人巨大精品欧美一区二区桃花岛| 狠狠久久综合婷婷不卡| 亚洲国产综合在线| 免费萌白酱国产一区二区三区| 中文字幕一区二区三区有限公司 | 黄色直播在线| 国外成人在线视频| 成人免费毛片aaaaa**| 久草在线视频资源| 国产精品yjizz| 色综合久久天天综合网| 久久国产影院| 天堂在线观看一卡二卡三卡四卡| 九九九久久久久久| 不卡av免费在线观看| 天堂√8在线中文| 欧美日韩最好看的视频| 色欧美乱欧美15图片| japanese国产精品| 中文字幕在线免费专区| 国产综合福利在线| 欧美日韩激情美女| 一区二区影视| 成人三级黄色免费网站| 成人欧美一区二区三区黑人免费| 岛国av一区二区在线在线观看| 少妇一区二区视频| 天天干狠狠干| 国产精品视频在线播放| 偷拍亚洲欧洲综合| 91精品综合| 欧美性videos| 日韩av电影免费观看| 日韩国产在线看| 波多野洁衣一区| 亚洲精品国产九九九| 少妇一级淫免费播放| 91av在线免费观看| 亚洲成av人在线观看| 久久精品影视| 18加网站在线| 亚洲国产日韩美| 亚洲视频一区二区三区| 91性感美女视频| 色天下一区二区三区| 在线观看麻豆视频| 麻豆久久久av免费| 亚洲精品中文字幕有码专区| 国产成人自拍高清视频在线免费播放| 成人av色网站| 婷婷激情四射五月天| 国产精品91久久| 色丁香久综合在线久综合在线观看| 欧美日韩国产在线一区| missav|免费高清av在线看| 婷婷无套内射影院| 国产精品久久91| 欧美一区二区三区影视| 国产成人h网站| 蜜桃精品wwwmitaows| 岛国大片在线观看| 免费的一级黄色片| 欧美在线视频网| 欧美视频一区在线| 粉嫩av一区二区三区在线播放| 澳门精品久久国产| 成年网站在线| 日韩免费一级视频| 国产精品久久国产精品99gif| 欧美酷刑日本凌虐凌虐| av高清久久久| 久久精品一区二区不卡| xx欧美视频| 神马伦理电影| 亚洲福利av| 欧美在线视频一区二区| 日韩一区二区在线看| 亚洲国产高清不卡| 热久久一区二区| 色狮一区二区三区四区视频| 欧美色网一区| 毛片网站在线| 波多野结衣作品集| 日韩高清三级| 国产精品高潮视频| 国产亚洲精品激情久久| 欧美日韩在线第一页| 99re热视频这里只精品 | 国产精品国模在线| 日韩av网址在线| 亚洲成人一区在线| 9人人澡人人爽人人精品|