摘要: 由于腳本語言通常提供了更為簡潔的語法及Java所不具有的一些新的語言特性(如:閉包,元編程等),所以在一些情況下可以創(chuàng)造出比Java程序更具有可讀性的代碼。另外,眾多基于JVM的腳本語言也為與Java程序整合帶來了便利。
閱讀全文
摘要: 延續(xù)"DSL實(shí)現(xiàn)要點(diǎn)(1)"講解外部DSL的實(shí)現(xiàn)要點(diǎn)。
閱讀全文
摘要: DSL(domain-specific language)并不是什么新的概念和技術(shù),但是目前它已成為了一個(gè)技術(shù)熱點(diǎn),近期各種類型的技術(shù)交流或研討會(huì)上你都可以看到關(guān)于DSL的主題。DSL似乎也在一夜間成為了大師們關(guān)注的焦點(diǎn)(Martin Fowler,Eric Evans等等)。
應(yīng)用DSL可以有效的提高系統(tǒng)的可維護(hù)性(縮小了實(shí)現(xiàn)模型和領(lǐng)域模型的距離,提高了實(shí)現(xiàn)的可讀性)和靈活性,并且提供開發(fā)的效率。
那么如何在我們的實(shí)踐中引入DSL呢,Martin Fowler就DSL實(shí)現(xiàn)模式做了全面的闡釋;在實(shí)際工作中作者實(shí)踐了部分Martin Fowler的模式,下文是作者對(duì)這些實(shí)踐的經(jīng)驗(yàn)總結(jié),愿與大家分享。
根據(jù)實(shí)現(xiàn)方式的分類DSL可以大致分為內(nèi)部DSL(Internal DSL)和外部DSL(Extern DSL), 作者在實(shí)際項(xiàng)目中實(shí)踐了這兩大類DSL,在系列文章中將分別共享各類型DSL的實(shí)現(xiàn)經(jīng)驗(yàn)。
閱讀全文