領域專用語言檢視原始碼討論檢視歷史
領域專用語言(DSL,Domain Speciific Language)是一種計算機語言專用於一個特定的應用領域。這與通用語言(GPL)相反,後者廣泛適用於各個領域。DSL種類繁多,從用於公共領域的廣泛使用的語言(例如網頁的HTML)到只有一種或幾種軟件使用的語言(例如MUSH軟代碼)。DSL可以根據語言的種類進一步細分,包括特定於域的標記語言,特定於域的建模語言(規範語言)和領域專用架構(Domain Specific Architecture)的編程語言。專用計算機語言在計算機時代一直存在,但是由於特定領域建模的興起,術語「特定領域語言」變得越來越流行。簡單的DSL,特別是單個應用程序使用的DSL,有時被非正式地稱為迷你語言。[1]
領域特定語言是一種軟件語言,透過領域特定語言,領域專家以足夠精確的方式呈現他們的專業領域知識,並使其可執行。[2]
應用
特定於領域的語言是專門為解決特定領域中的問題而創建的,並非旨在解決其外部的問題(儘管在技術上可能是可行的)。相反,創建通用語言來解決許多領域中的問題。該域也可以是業務領域。業務領域的一些示例包括:
- 大型保險企業內部開發的針對人壽保險政策的特定領域語言
- 用於戰場模擬的領域特定語言
- 用於薪資計算的特定領域語言
- 特定領域的計費語言
- 領域特定的語言介於小型編程語言和腳本語言之間,並且通常以類似於編程庫的方式使用。這些概念之間的界限非常模糊,就像腳本語言和通用語言之間的界限一樣。[1]
參考來源
- ↑ 1.0 1.1 DDD:DSL(領域專用語言)領域驅動設計系列. ShouKai. 2019-12-21 (中文).
- ↑ the what and why of domain specific lanugages. Manning Free Content Center. 2019-12-21 (英語).