有沒有什麼好方法以非語言特定的方式定義接口/類層次結構,然後用指定語言生成相應的源代碼?特別是,我需要針對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