Dot-Net
在為規則引擎創建 DSL 時使用什麼技術?
您會推薦什麼技術來為 .NET 的業務規則和驗證應用程序塊創建 DSL ?為什麼?
框架的架構由產品建立和驗證測試。我只想創建一個 .NET 處理器來將人類可讀的規則轉換為已編譯的規則實現。
我知道的選項是:
- 使用.NET Boo的編譯器管道
- 使用 F# 附帶的解析器建構器 - FsLex 和 FsYacc
不幸的是,考慮到 DSL 語法(它會不斷發展),這些方法都沒有提供任何東西來建構或多或少友好的 IDE 來編輯 DSL。
有什麼想法或提示嗎?
微軟下一代應用開發平台,代號Oslo(現 Delve)
使人們更容易以對他們所從事的問題領域有意義的方式寫下來
Oslo 似乎由一個名為“Quadrant”的視覺化設計工具、一種名為“M”的建模語言和儲存規則的“Oslo”儲存庫(一個 SQL Server 數據庫)組成。
因此,如果我沒看錯的話,您可以在 M 中定義一種建模語言,使用 Quadrant 使用您自己的建模語言定義和編輯您的驗證規則,並編寫一個使用 Oslo 儲存庫的應用程序,生成您的業務規則和驗證應用程序.NET 的塊。