我们正在考虑使用Microsoft DSL工具包来创建一些抽象设计器.我已经做了一些POC,但想得到一些相同的意见.
在这里有人分享他们使用Microsoft DSL Toolkit和T4的经验吗?此外,任何指向开源DSL项目的指针都会有所帮助 - 例如.Microsoft Service Factory建模版在很大程度上依赖于DSL工具包.
由于OSLO/Quadrant需要一些时间才能发布,我认为我们唯一的选择是依靠Microsoft DSL设计师.(见Kieth的博客)
另外,这里有我在DSL上已有的一些信息:
1 - DSL工具上MSDN的一个不错的实验室
2 - 使用DSL工具包的Codeplex中的项目列表
我们已经在DSL上做了大量的工作,并且有许多用于内部和客户的顾问使用,尽管我没有与他们做过大部分工作.一旦你完成了建模(不小的壮举),我会说这些都是很棒的工具.
我不能指出你在任何开源项目中的不幸,我会补充说,投入一个非常简单的DSL并运行起来是非常大的,但是如果你把它们弄好,那么生产力提升是令人印象深刻的.
编辑 - 经过几年的经验,我做了以下观察:
VS DSL具有糟糕的视觉性能大图,你需要折叠模型元素(隐藏/显示)
具有许多互连线的大图很难导航(布局很难)
大型模型适用于代码生成等,主要用于反序列化(如预期的那样)
由于GUID数量众多,模型比较很困难
良好的开发人员体验需要在开箱即用的属性对话框上进行大量开发.
模型可以加密以保护IP,这使得后来的比较非常困难(但对于所有加密文件都是如此.)