什么是特定領(lǐng)域開(kāi)發(fā)和DSL
特定領(lǐng)域開(kāi)發(fā)是用來(lái)解決重復(fù)發(fā)生的問(wèn)題的方法,針對(duì)每次發(fā)生的問(wèn)題,通過(guò)進(jìn)行總結(jié)和分析,他們之間相同的方面可以一次性的解決.而經(jīng)常變化的方面,可以采用一種特殊的語(yǔ)言表達(dá).針對(duì)這個(gè)特殊語(yǔ)言,我們可以建立模型或者表達(dá)式,然后插入到固定部分.
對(duì)于我們軟件行業(yè)的解決方案來(lái)說(shuō),固定部分一般采用傳統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)方式,可以為框架,平臺(tái),解釋器或者編程接口.提供可擴(kuò)展性,具有高度的抽象性和可復(fù)用性.而特定領(lǐng)域語(yǔ)言專(zhuān)門(mén)用來(lái)創(chuàng)建變化的部分,從而使整個(gè)解決方案可具有可應(yīng)用性.
特定領(lǐng)域語(yǔ)言(DSL,Domain Specific Language)是一種特別用來(lái)描述某一專(zhuān)業(yè)領(lǐng)域內(nèi)涵的描述語(yǔ)言,其實(shí)它并不陌生, HTML ,SQL都算的上是DSL的例子.
幾種其它DSL
MPS http://www.jetbrains.com/mps/ JetBrains公司的DSL工具,通過(guò)這個(gè)平臺(tái)可以直接定義規(guī)則,生成代碼
點(diǎn)擊放大
MetaEdit+ http://www.metacase.com/ 圖形化的DSL工具
Oslo http://msdn.microsoft.com/zh-cn/data/ee460940(en-us).aspx 微軟新推出的圖形化DSL語(yǔ)言,但是Oslo和我們要介紹的DSL Toolkit還是有些區(qū)別的,這里有一些介紹http://blogs.msdn.com/keith_short/archive/2008/11/06/oslo-and-the-dsl-toolkit.aspx .Oslo由 “M"語(yǔ)言,工具Quadrant,關(guān)系存儲(chǔ)組成.
點(diǎn)擊放大
GMF,EMF http://www.eclipse.org/modeling/gmf/ 使用 Eclipse Modeling Framework (EMF) 和 Graphical Modeling Framework (GMF) 技術(shù)來(lái)為領(lǐng)域特定語(yǔ)言(DSL)產(chǎn)生領(lǐng)域特定建模(DSM)輔助工具
點(diǎn)擊放大
出處:似水流年
責(zé)任編輯:bluehearts
上一頁(yè) 下一頁(yè) Visual Studio DSL 入門(mén) [2]
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|