我希望能夠理解如何開發Flex應用程序,以便我可以在運行時提供實現類。在Java世界中,我會在JAR中指定接口(例如myapp-api.jar),在單獨的JAR中實現(例如myapp-impl.jar),並將其與應用程序WAR中的其他資源(例如myapp)一起打包。戰爭)。在應用程序的代碼中,我會動態地實例化實現類。開發模塊化Flex應用程序
這種方法在Flex中可行嗎?我知道我可以動態地實例化類,所以這是一個好的開始。不過,我對模塊,RSL和SWC有點困惑。
我曾希望創建一個引用了接口SWC和實現SWC的SWF應用程序。這個想法是,如果我需要調整特定客戶的應用程序,那麼我可以創建一個新的實現SWC,而不必修改SWF或接口SWC。
任何想法?
感謝您的回覆西蒙。我設法使用compc/ant來編譯接口SWC和實現SWC(減號接口)。我想下一步是將接口SWC編譯到應用程序中,然後在運行時以某種方式加載實現SWC。如果可能的話,我真的想避免重新編譯主應用程序。 理想情況下,我想將一個參數傳遞給SWF,以指示在運行時加載哪個SWC實現。我認爲只有SWF可以加載,所以我需要弄清楚如何解決這個問題 - 例如我可以將SWC轉換爲SWF還是從SWC中提取SWF並使用它? – ukdavo 2010-05-10 10:55:22
您可以通過解壓縮swc來從swc中獲取swf。您可以使用Loader類加載swf - 如果您希望代碼共享相同的上下文,您可能必須將加載程序的ApplicationDomain設置爲與應用程序的其餘部分相同的域(我不確定這是否爲默認或不)。 – 2010-05-10 15:43:04