dsl類型包括?
DSL類型分為三種:
1.內部DSL(Internal DSL)、
2.外部DSL(External DSL)、
3.語言工作臺(Language Workbench)。
Internal DSL是一種通用語言的特定用法。用內部DSL寫成的腳本是一段合法的程序,但是它具有特定的風格,而且只用到了語言的一部分特性,用于處理整個系統一個小方面的問題。 用這種DSL寫出的程序有一種自定義語言的風格,與其所使用的宿主語言有所區別。例如我們的狀態機就是Internal DSL,它不支持腳本配置,使用的時候還是Java語言,但并不妨礙它也是DSL。
External DSL是一種“不同于應用系統主要使用語言”的語言。外部DSL通常采用自定義語法,不過選擇其他語言的語法也很常見(XML就是一個常見選 擇)。比如像Struts和Hibernate這樣的系統所使用的XML配置文件。
Workbench是一個專用的IDE,簡單點說,工作臺是DSL的產品化和可視化形態。
三個類別DSL從前往后是有一種遞進關系,Internal DSL最簡單,實現成本也低,但是不支持“外部配置”。Workbench不僅實現了配置化,還實現了可視化,但是實現成本也最高。