有没有什么好方法以非语言特定的方式定义接口/类层次结构,然后用指定语言生成相应的源代码?特别是,我需要针对Java和C#来创建一个相当全面的API。我记得有一次在SF看到一篇文章,其中一个答案提到了一种“编译”为其他语言的编程语言 - 但我一直无法找到该文章。这种语言可能是我想要做的解决方案。针对多种编程语言/平台
感谢,
安迪
有没有什么好方法以非语言特定的方式定义接口/类层次结构,然后用指定语言生成相应的源代码?特别是,我需要针对Java和C#来创建一个相当全面的API。我记得有一次在SF看到一篇文章,其中一个答案提到了一种“编译”为其他语言的编程语言 - 但我一直无法找到该文章。这种语言可能是我想要做的解决方案。针对多种编程语言/平台
感谢,
安迪
很多方法可以做你想做的事情。
例如,你可以看看使用接口定义语言(IDL)。 Corba的IDL允许您以一种与语言无关的方式声明对象&接口。这些idl文件然后通过IDL编译器运行,该编译器为您选择的语言输出适当的类,标题,存根,代理等。
例如IIOP.NET是Corba for C#的一个实现。我不知道它有多好,但它会有一个吐出C#类的IDL编译器。 Java有一个名为idlj的IDL编译器作为JDK的一部分。
理论上,您可以从相同的接口&类实现C#和Java。
做类似事情的另一种方法是利用一个UML工具,它可以从模型生成源代码。
另一种选择是使用类似WSDL/XSD的类来定义接口类型,并从中生成存根。
http://www.fogcreek.com/FogBugz/blog/category/Wasabi.aspx :-P – 2010-09-07 15:52:27
看起来很整洁,但它不是我以前在SF上看到的语言。 – Andy 2010-09-07 16:08:20