组织一个Flex项目供团队使用

时间:2011-02-03 20:08:01

标签: flex actionscript flash-builder code-organization project-organization

我是Flex / Actionscript / FlashBuilder的新手,我不太了解所有的组织概念。我们的团队项目主要基于ASP.NET,因此它没有很多Flex代码。实际上并不需要组织/重用公共库。我正在添加一个包含大量文件的相当大的组件,我想开始为未来的开发人员组织它。

我认为,.NET有:

  • 解决方案文件:指向一堆项目文件。
  • 项目文件:包含实际代码和依赖项。
  • 命名空间:以分层方式组织代码。

在Flex中,我想要一个类似于这个例子的层次结构:

  • 汽车经销商
    • 业务层
      • 客户
      • 员工
    • UI组件
      • 广告
      • 窗口标记
      • 汽车
    • 基础设施
      • 工资单
      • 数据库
    • SWF项目
      • InventoryViewer
      • CarFeatureViewer
      • CurrentFlyerViewer

在.NET中,我可以拥有一个InventoryViewer项目文件和一个解决方案文件,该文件打开了InventoryViewer项目文件以及它所依赖的Infrastructure.Database项目文件。或者,如果我不想处理数据库项目,我可以有一个只指向InventoryViewer的解决方案文件,但依赖仍然存在。这如何转化为Flex代码组织?我很难说出包,项目和普通文件夹层次结构之间的区别。提前谢谢。

2 个答案:

答案 0 :(得分:2)

当您想要镜像VisualStudio的解决方案样式视图时,实现此目的的最佳方法是在“解决方案”工作区中创建多个项目

虽然没有直接的等价物,所以不要担心尝试以同样的方式看待层次结构。

但是,如果您拥有这样的小型工作区,则可以一次性构建所有项目,并将构建时间保持在最低限度。

版本控制只能在项目级别上很好地工作,因此最初可能会很麻烦,而不是一次性检查解决方案,您必须单独检查每个项目。

关于包,项目和普通文件夹层次结构之间的区别:

  • 项目:包含Eclipse元数据的文件夹(保存在文件夹中,也包含在父工作区文件夹中),代表项目,项目可以有多个构建目标,但一次只使用标准构建一个< strong>运行或调试按钮,要在单个项目中构建多个目标,您必须使用 Ant 或其他一些构建工具。

    < / LI>
  • 包:与.net调用命名空间更密切相关,但Flex有自己的命名空间概念,主要与XML / MXML有关,但这是一个相当大的主题,所以我会避免这种情况。包必须与它们存储在的文件夹相关,例如

package com.example.view {
    class SomeViewClass extends SomeFlexComponent {
    // .... etc
    }
}

此类将存储在src/com/example/view/SomeViewClass.as中 - 与C#类/包名称不同,文件夹必须匹配,否则编译器将抛出错误。

我很确定我没有在这里介绍所有内容,所以如果您需要进一步澄清这些内容,请告诉我。

答案 1 :(得分:1)

如果您访问某些框架站点并查看示例,您可以看到它们如何构建其应用程序。这是在Mate的Flex框架站点上找到的程序的源视图。您可以下载源代码并在FlashBuilder中打开它以获得更好的感觉。

http://mate.asfusion.com/assets/content/examples/intranet/srcview/

就个人而言,当我布局Flex应用程序目录结构时,我会根据视图将其分解为“翅膀”。当然,共享的内容有一个共享目录。所以对于你的例子,我会这样说出来。

汽车经销商
*库存
- 视图(与库存有关的视图)
- 组件(与库存有关的组件) --events
--presenters
--services

这样做的好处是它允许模块化,因此您不必一次加载整个应用程序。