在使用flex模块开发时,我应该将VO添加到库项目中吗?

时间:2009-09-04 14:53:30

标签: flex module value-objects

我正在开发一个基于模块的Flex应用程序,我正在考虑将所有的Value Objects(VO)转移到一个库项目中,我想知道是否有人认为这是一个坏主意或有任何其他建议。

目前的结构: 我有一个由shell应用程序和3个模块组成的项目。这些模块包含大约10个自定义组件,每个组件在运行时动态加载。我的问题是组件A(在模块A中)需要将数据传递给组件B(在模块B中)。因此,当发生这种情况时,我将组件A正在使用的VO移动到公共文件夹。然后我传递了VO并让组件B选择它并做它需要做的事情。

所以我在想的是使用现有的库项目并将所有VO添加到其中。这样我就不必将VO从模块移动到公共文件夹,因此模块A和模块B都可以访问它。基本的想法是我希望能够将shell中的任何模块完成抽象到自己的小部件或Air应用程序中,而不依赖于任何其他模块。

有人认为这是不好的做法吗?如果是这样,为什么?你还有其他选择吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

您的方法很有意义,或多或少是图书馆项目的设计目标。您可以将SWC直接编译到主应用程序SWF中,甚至可以将库外部化为RSL。除非你有很多VO(数百个),否则将它们直接编译到主SWF中会更有意义。

答案 1 :(得分:-2)

我倾向于跳过整个VO系统并使用本机对象(Object)。它不像自我记录,但它更方便和便携。您可以使用JSON库轻松地对其进行序列化。虽然可能对你的问题没有任何帮助。