代码之家  ›  专栏  ›  技术社区  ›  Shane Fulmer Lasse V. Karlsen

创建域的多语言版本的最佳方法是什么?

  •  1
  • Shane Fulmer Lasse V. Karlsen  · 技术社区  · 14 年前

    我想用多种语言创建一组域对象,这样我就可以针对不同的平台。我一直在寻找外部dsl作为一种为我的域定义语言的方法,然后潜在地编写适配器,为我感兴趣的语言生成代码。这是解决这个问题的最好办法吗?或者维护项目的多个版本更简单?

    4 回复  |  直到 14 年前
        1
  •  2
  •   StackedCrooked    14 年前

    我认为 Apache Thrift 满足您的要求。

        3
  •  0
  •   Eldritch Conundrum    14 年前

    如果不了解您打算使用DSL做什么,就很难提供帮助。

    便携性是你的主要问题吗? 要成功地针对这些不同的平台,您可能必须维护特定于plaftorm的层(生成或不生成)。

    但是,如果您有一个定义良好的独立于平台的逻辑块,那么DSL是一个不错的选择。只需在每个目标平台上为它编写一个解释器(前提是性能不是关键,这也比生成代码更简单、更容易)。

        4
  •  0
  •   Pascal Thivent    14 年前

    不知怎么的,这就是 Model Driven Architecture (MDA) Model-driven architecture

    使用 适当的特定领域

    然后,给出一个平台定义 NET、Web等,PIM是 平台特定模型(PSM) 计算机可以运行。这需要 也应该建模。

    PSM可能使用不同的域 通用语言(GPL)类

    根据域的复杂性和MDA工具的可用性,这可能是一种选择(实现成本较低)。

    另请参见