代码之家  ›  专栏  ›  技术社区  ›  CARLOS LOTH

“DSL工具”和“奥斯陆”有什么区别?

  •  1
  • CARLOS LOTH  · 技术社区  · 17 年前

    我刚刚开始使用特定于域的工具开发,并且正在使用Visual Studio SDK DSL工具。然而,我听说微软在特定领域的开发中有另一个计划,叫做“奥斯陆”。

    我的印象是DSL工具专注于图形领域特定的语言,而奥斯陆专注于文本语言,但我不确定。

    有人能指出“DSL工具”和“奥斯陆”有什么区别吗?

    3 回复  |  直到 16 年前
        1
  •  1
  •   Lars Corneliussen    16 年前

    主要的两个区别是愿景和分工。

    愿景 ,因为DSL工具专注于构建在Visual Studio或Visual Studio Shell中运行的特定于域的开发环境,而奥斯陆希望实现更简单的数据编程,并且作为一个附带产品,它还提供了用于构建DSL的工具,帮助您使用自制语言指定数据。

    因为这两项投资是在不同的部门进行的,因此完全不同的团队。我们希望,而且他们说,团队之间互相交谈,但没有人真正知道。

    在未来,很可能奥斯陆(在两周内不再称为奥斯陆)将为DSL工具(元模型、数据库、查询语言)提供基础设施。至少我们可以预期两者之间会有一些整合。

        2
  •  5
  •   Moayad Mardini    17 年前

    Oslo and the DSL Toolkit

    DSL Tools and Oslo

    那些msdn博客的帖子回答了这个问题。

        3
  •  2
  •   John Saunders    17 年前

    你说得对。DSL工具包用于创建图形化DSL设计器。然后,该设计器可以在Visual Studio内部(或在您自己的宿主程序内部)运行,以创建DSL模型的实例。在Visual Studio的上下文中,然后可以使用内置在Visual Studio中的t4文本模板引擎,使用这些实例生成代码或其他基于文本的工件。

    还要注意,设计器不需要有图形设计图面。创建域模型后,可以从层次结构资源管理器视图或通过代码填充它。域模型为您生成的内容之一是用于访问模型实例的强类型API。