Flex项目结构

时间:2009-06-03 23:45:41

标签: flex reference project structure

我正在尝试创建一个大型的flex项目。该项目由CORE应用程序和其他子应用程序组成。

CORE应用程序应包含将由所有其他项目共享的信息(例如,链接到数据库,从数据库加载数据的数据管理器,应用程序信息,如高度宽度颜色字体等)。

每个子应用程序都有一定的任务。每个子应用程序本身都是一个大型项目,因此我认为将所有代码放在一个巨大的项目中并不是一个好主意。

CORE项目应该运行主应用程序,通过导航菜单,我应该能够点击并运行其他子应用程序。

有没有办法创建CORE应用程序来引用这些子应用程序,以便我可以在CORE中运行它们。同时,这些子应用程序应该引用CORE应用程序来获取NetConnection到数据库以及它们可能共享的其他重要信息吗?

构建这个项目的最佳方法是什么?

谢谢,

3 个答案:

答案 0 :(得分:0)

您最好的选择是将您建议的CORE内容放入库项目中。将应用程序的前端保留在Flex应用程序项目中,但是主应用程序和所有其他模块或应用程序可以轻松地使用所有需要共享的数据和方法。

然后,在主应用程序和其他应用程序的项目设置中,您可以链接到库项目。

如果您计划使用框架,您还可以查看PureMVC多核库。它比我上面提供的解决方案复杂一点,但是专门用于在不同的应用程序之间共享数据和通知。

答案 1 :(得分:0)

需要考虑两个因素。

  1. 代码在哪里
  2. 该代码的编译输出在哪里。
  3. 将所有源代码都放在单个代码树中可能是个好主意。这样更容易维护。您可以将每个子应用程序放在一个单独的AS3包中。

    分离该代码的编译输出也是一个好主意。使您的核心应用程序成为主要的Flex应用程序,然后使每个子应用程序成为Flex模块。核心应用程序可以像任何其他基于AS3的类一样加载模块并对其进行操作。关于这一点的一个好处是,在调试期间,您可以选择仅构建您当时关心的有限模块集。

    我强烈建议您通过某种自动化的ANT构建脚本而不是通过Flex Builder构建您的版本。

    我们有一个超过150k行代码的项目,其管理方式与此完全相同。这在软件工程方面并不是很大,但在Flex世界中却相当大。

答案 2 :(得分:0)

听起来您希望使用Flex模块来保持子应用程序的自包含,但仍然能够与核心应用程序进行交互。

http://livedocs.adobe.com/flex/3/html/help.html?content=modular_2.html

这将允许您将核心应用程序SWF保持在相当小的位置并按需加载子应用程序。

通常,模块与主应用程序存储在同一个项目中,但每个应用程序/模块都可以通过Flex Builder或自动构建工具(如Ant或Maven)编译为单独的SWF。