有没有什么好方法可以用非特定语言的方式定义接口/类层次结构,然后用指定的语言生成相应的源代码?特别是,我需要同时针对Java和C#来创建一个相当全面的应用程序接口。我记得有一次在SF上看到一篇文章,其中的答案提到了一种‘编译’成其他语言的编程语言--但我一直没有找到这篇文章。这种语言可能是我想要做的事情的解决方案。
谢谢,
安迪
发布于 2010-09-07 23:50:59
你有没有考虑过UML?很容易从UML中找到许多不同语言的代码生成器(例如:this one可以生成C#、Java和VB.NET代码),但是您可能希望仔细评估它是否适合您。作为一种标准,多年来它已经获得了大量的criticism。
发布于 2010-09-08 00:13:18
有很多方法可以做你想做的事情。
例如,您可以考虑使用接口定义语言(IDL)。Corba的IDL允许您以语言中立的方式声明对象和接口。然后,这些idl文件通过IDL编译器运行,该编译器为您选择的语言输出适当的类、头、存根、代理等。
例如,IIOP.NET是用于C#的Corba的实现。我不知道它有多好,但它会有一个可以输出C#类的IDL编译器。作为JDK的一部分,Java有一个名为idlj的IDL编译器。
因此,从理论上讲,您可以使用相同的接口&类来实现C#和Java。
做类似事情的另一种方式是利用UML工具,该工具可以从模型生成源代码。
另一种选择是使用像WSDL / XSD这样的东西来定义接口和类型,并从中生成存根。
发布于 2010-09-08 00:38:38
看看IKVM.NET吧。有了它,您就可以用Java语言(或JVM语言)编写程序并将其转换为.NET程序集。因此,您的程序将同时具有JVM和.NET版本。
https://stackoverflow.com/questions/3660264
复制相似问题