代码之家  ›  专栏  ›  技术社区  ›  Todd Moses

在开发Flex应用程序时,在MXML中嵌入ActionScript有什么好处吗?

  •  1
  • Todd Moses  · 技术社区  · 16 年前

    我一直认为将UI与逻辑分离是一种方法,就像在flashcs3/CS4中使用类文件或在web框架中使用MVC一样,但是最近有很多例子和文章使用嵌入MXML中的ActionScript。

    这样做有好处吗?我错过了什么吗。

    4 回复  |  直到 16 年前
        1
  •  2
  •   Marplesoft    16 年前

    不要太沉迷于MVC的“规则”之类的东西。最终,您希望您的代码的设置方式能够将未来更改的影响/搅动降到最低。代码“在哪里”不那么重要,更重要的是它与其他代码交互的内容和方式。我看到很多人使用一个简单的组件,比如登录屏幕,制作模型、视图、控制器、视图助手、服务外观等等。它最终就像75行以上的代码,应该是20行左右。它还将代码传播到一堆文件,而不是一个文件。所以最后,你让维护变得困难,而不是简单。我并不是主张忽略设计模式,而是主张在这方面要切实可行。希望这有帮助。

        2
  •  2
  •   Erich Douglass    16 年前

        3
  •  1
  •   Warren Young    16 年前

    我遵循一些简单的规则:

    • 如果一段代码仅仅是一条短线,并且不能在其他地方重用(仅仅是粘合代码),那么就直接将其放入MXML标记中。
    • 如果它太长,无法轻松地放入MXML标记中,或者MXML文件中的多个组件可以使用它,请将它放入同一文件中脚本标记中的函数中,然后从MXML标记调用该函数。
        4
  •  1
  •   Robusto    16 年前

    在某种程度上,我同意埃里希·道格拉斯的观点。一般来说,如果我能用MXML做布局,维护起来就更容易了。我的意思是,如果你不需要的话,谁愿意在createChildren重写中写这些废话?此外,MXML更易于阅读。

    但是,无论您做什么,请记住,如果您只是为一个MXML组件调用一个单独的脚本文件(Foo.MXML调用Foo.as作为它的ActionScript),那么您将丢失帮助您在MXML和ActionScript之间工作的代码突出显示功能。我喜欢把它们放在同一个地方,所以当我在MXML元素中单击一个ID时,我一眼就能看到它在AS中的引用位置。