是否有任何 DSL(领域特定语言)来持有合同?

Is there any DSL (Domain Specific Language) in order to hold contracts?

我非常习惯 protobuf 和 .proto 文件,我认为这是一种在应用程序之间保持合同的惊人方式。

gRPC 将此提升到另一个层次,但不幸的是,它在 Web 上默认不受支持,因此我们现在需要代理才能通过 Web 进行通信。

所以我想知道是否有像 .proto 这样的特定定义语言,但是带有生成对象、类、结构、模块或任何每种语言都需要利用的功能的插件模型抽象?

如果您对代码生成感兴趣,您绝对应该研究一下 Eclipse 建模框架 (EMF),如果您还没有的话。

一般来说,在软件工程的上下文中创建抽象描述(也称为模型)可以称为 model-driven 工程 (MDE)。快速 google 搜索可以为您提供足够的 material 帮助您入门。

我认为人们多年来创造了很多有用的工具,但这些工具在工业界并不为人所知。据我估计,这主要是因为它们在本质上更 'academic' 以及它们有时与 eclipse 的强烈耦合,而 eclipse 近年来已经失宠。话虽如此,您可能会对它们感兴趣,因此值得探索。

祝你好运!