我希望能够理解如何开发Flex应用程序,以便在运行时提供实现类。在Java界,我会在JAR中指定接口(例如myapp-api.jar),在单独的JAR中指定实现(例如myapp-impl.jar),并将这些和其他资源一起打包到应用程序WAR中(例如myapp.war)。在应用程序的代码中,我将动态实例化实现类。
这种方法在Flex中可行吗?我知道我可以动态地实例化类,所以这是一个很好的开始。我对模块、RSL和SWC有点困惑。
我希望创建一个SWF应用程序,其中包含对接口SWC和实现SWC的引用。这个想法是,如果我需要为特定客户调整应用程序,那么我可以创建一个新的实现SWC,而不必修改SWF或接口SWC。
有什么想法吗?
发布于 2010-05-09 18:23:52
这在flash/flex中比在java中更难做到,或者至少如果你是来自java背景的人,它会更难懂一些)。我有几个建议要给你。
只有当你真的想在运行时拥有不同的类库时,你才需要使用RSL,尤其是如果你认为这个库将在同一组人将使用的多个项目中使用。(它们主要用于减少下载/启动时间)
你也可以自己把你的应用分成几个部分-在这种情况下,你需要确保你不会把相同的信息打包两次-这可以通过在第一个编译的swf上生成一个链接报告,并在第二个编译中排除这些类来完成。这就是modules在flex中的工作方式。
swf主要用作编译时库(它们基本上是一个zip,其中包含swf和描述其内容的元数据xml文件)。
如果您希望在库中有一组单独的接口,您可以使用这些接口生成一个swc,然后使用实现编译另一个swc,如果您希望避免出现重复的类/接口定义,则应该在编译实现类时排除这些接口。如果你在编译最终的应用程序时同时链接接口和实现SWF,而不排除类,你可以只使用一个最终的SWF来运行应用程序-如果你想保持它真正的分离,你应该查看模块(或者如果你正在创建一个纯actionscript项目,则直接加载SWF)。
如上所述,我自己确实使用了SWCs,现在正在为我们的curren项目研究RSL和模块。
https://stackoverflow.com/questions/2797182
复制相似问题