DSL(Domain Specific language)
2014-09-22 22:24
316 查看
DSL(Domain Specific language)
在真正了解领域模型(领域内的概念类或现实世界中对象的可视化表示的模型)前对DSL还不太了解。
最近正好在支持一个项目做领域建模,正好写点我对DSL的理解。
DSL如果按照机器翻译多半叫做:领域定义语言....
我理解DSL就是一种描述现实问题的语言,用这种语言去实现现实业务和代码逻辑的桥梁。
我理解的DSL的位置在业务模型和软件模型之间。
实际业务---领域建模(DSL)---软件模型(UML)----程序代码(C# , VB.NET , Java ...)
下面用一个实际例子来描述DSL的作用
(1) 业务场景:
如果某销售的销售业绩超过1800K,那么该员工就可以获得晋升。
(2) DSL来定义这样一个业务:
(3) 对象模型:
(4) 程序代码:
.....函数部分代码略
所以我理解DSL本身不是一个新的语言,也没有具体规则。
仅仅是为了方便我们理解业务模型的辅助工具而已。
转自:http://8376eric.blog.163.com/blog/static/9301693200810239166461/
在真正了解领域模型(领域内的概念类或现实世界中对象的可视化表示的模型)前对DSL还不太了解。
最近正好在支持一个项目做领域建模,正好写点我对DSL的理解。
DSL如果按照机器翻译多半叫做:领域定义语言....
我理解DSL就是一种描述现实问题的语言,用这种语言去实现现实业务和代码逻辑的桥梁。
我理解的DSL的位置在业务模型和软件模型之间。
实际业务---领域建模(DSL)---软件模型(UML)----程序代码(C# , VB.NET , Java ...)
下面用一个实际例子来描述DSL的作用
(1) 业务场景:
如果某销售的销售业绩超过1800K,那么该员工就可以获得晋升。
(2) DSL来定义这样一个业务:
foreach [Sales] if (total [Amount] of [The Sale] > 1800K) [The Sale] do a [Promotion] . end if end foreach
(3) 对象模型:
Sale |--Name(String) |--Amount(Int) HRInterface |--IDoPromotion(Sale theSale); |--List<Sale> GetAllSales();
(4) 程序代码:
.....函数部分代码略
....................... List<Sale> sales = GetAllSales(); foreach(Sale sale in sales){ if(sale.amount > 1800){ DoPromotion(); } }
所以我理解DSL本身不是一个新的语言,也没有具体规则。
仅仅是为了方便我们理解业务模型的辅助工具而已。
转自:http://8376eric.blog.163.com/blog/static/9301693200810239166461/
相关文章推荐
- MDSF:DSL(Domain Specific Language)介绍
- MDSF:DSL(Domain Specific Language)介绍
- How to Model and Implement a Domain Specific Language (DSL) for Functional Test Automation
- DSL(Domain Specific Language)介绍
- DSL(domain specific language )
- DSL(Domain Specific language): How to get it
- MDSF:DSL(Domain Specific Language)介绍
- DSL(Domain Specific language): How to get it
- MDSF:DSL(Domain Specific Language)介绍
- 今天看到一篇关于DSL(Domain Specific Language)的文章
- Domain Specific Language(DSL)感想2
- DSL(Domain Specific Language) 笔记
- Domain-Specific Development with Visual Studio DSL Tools
- [导入]Visual Studio 2005 Team Edition软件架构系列课程(4):模型驱动开发的领域特定语言(Domain Specific Language )工具
- Search user of specific domain name
- 一种实际的MDA方法--Lightweight Domain Specific Modeling
- 一种实际的MDA方法--Lightweight Domain Specific Modeling
- DSL Domain-specific language 领域特定语言/领域专用语言
- 阅读笔记:Domain-specific Question Generation from a Knowledge Base
- 一种实际的MDA方法--Lightweight Domain Specific Modeling