如何用多种编程语言实现一致的域对象?

时间:2018-09-27 23:33:27

标签: javascript java python software-design

我正在尝试为某些共享库生成域模型。我希望那些使用不同语言(例如java,python,javascript,ruby等)的客户端使用这些域模型。

例如,我希望它们以一致的方式根据所使用的语言生成。

在Java中:

@Data // to indicate all basic getters/setters etc are there
class Point {
  private int x;
  private int y;
}

在Python中:

class Point:
  def __init__():
    self.x = 0
    self.y = 0

  // other getter/setter/properties

实现此目标的最佳方法是什么?

  1. 通过更严格的版本控制来维护以不同语言实现的模型的单独存储库? -可以用最少的想象力做到,但是看起来很乏味并且容易出错。
  2. 某种以不同语言吐出模型/类的框架在xml / yml / json / some dsl中提供了一些通用定义?这对我来说是理想的选择。不幸的是,我不知道任何这样的开源/付费公共框架。有这样的东西吗?使用Apache Thrift可以实现吗?
  3. 还有什么?

这也是一个错误的设计选择吗?

编辑:建议使用duplicate的人,它与链接的问题完全相反。那就是要求以不同的语言在不同的应用程序中验证模型。我的问题是根据通用定义生成模型!

这个问题是7年前提出的!从那时起,技术发展了很多!最受欢迎的答案表明

  

“您最好的选择是一个框架,该框架允许您以与语言无关的格式指定模型验证”

这也不是任何确定的答案!

为什么人们如此急于放弃任何问题,而不是在问答网站上促进讨论?这显然是滥用权力,实质上是在劝阻人们做出贡献!几天前,我看到了StackOverflow团队的备忘录,内容涉及改善新用户的参与度和体验。嗯..

0 个答案:

没有答案