探索Flex3组件与框架生命周期

需积分: 3 2 下载量 174 浏览量 更新于2024-08-01 收藏 282KB PDF 举报
"理解Flex3组件和框架的生命周期" 在Adobe Flex框架中,组件和应用程序的生命周期是开发过程中至关重要的概念。这本书《理解Flex3组件和框架的生命周期》由James Polanco和Aaron Pedersen撰写,旨在帮助开发者深入理解Flex组件的工作原理,以及它们如何在应用程序的不同阶段中交互和变化。 Flex框架并非完全封闭的黑盒子,虽然其源码可读,但由于其复杂性,开发者通常只关注输入和输出,而较少探究内部机制。开发人员通常通过实践、试验、研究和参考社区资源来学习和掌握Flex的相关技巧。 书中介绍了Flex的历史,强调了框架的核心概念——“帧”,这涉及到组件如何随时间变化和响应用户交互。此外,还讨论了“弹性粒子轨道”和“管理粒子轨道”的概念,这是对组件状态变化的一种比喻,有助于理解组件在生命周期中的动态行为。 Flex应用程序的生命周期分为几个关键阶段,包括构造、初始化、预加载、子类创建、显示和销毁。在构造阶段,Flex Compiler起着关键作用,编译应用程序并创建基本结构。SystemManager位于顶层,负责管理和协调应用程序的各个部分。初始化阶段涉及外部接口的管理,预加载阶段处理资源加载,子类创建和显示阶段则涉及用户界面的构建和呈现。 组件的生命周期包括构造、添加、初始化、失效和生效机制、更新以及移除阶段。每个阶段都有其特定的任务和方法,如构造阶段用于实例化组件,初始化阶段则用于设置初始属性和执行必要的配置。失效和生效机制是Flex组件管理自身状态的关键,包括尺寸改变、可见性调整等,通过三种类型的失效机制(child、content和property)进行控制。 书中还提到了Flex组件开发的最佳实践,如有效使用构造函数、区分实时和构造器的使用、正确处理初始化方法的重写,以及理解和运用失效生效周期。此外,验证方法的实现、样式的应用和访问也是开发者需要关注的重点。 《理解Flex3组件和框架的生命周期》提供了深入探讨Flex组件生命周期的详细指导,旨在帮助开发者更好地优化和调试Flex应用程序,提升开发效率和用户体验。通过阅读这本书,开发者可以更全面地理解Flex的工作原理,从而在实际项目中更有效地利用这一强大的开发工具。
2010-12-30 上传
Adobe Flex 框架的SDK 美中不足之处就是部分由良好的半黑盒子系统所创建;这就是说, 在大多数情况下,我们这些开发者在项目周期中没有时间或精力去真正地深入到未知领域。 从技术上来讲,Flex 框架的不是一个黑盒子,你可以阅读和查看它的所有源码。由于代码 的复杂性及它是如何设计的,我们往往把框架看成是如何输入、得到什么样的输出。大多数 开发人员,包括作者,往往在工作中学习Flex,通过验证、试验、研究或按照他人写的博客 提到的观点来寻找新的技巧和技术。 Adobe 已经做了非常了不起的工作是Flex 框架的文档,它已被细分为两大类:用户指南和 API(ASDoc)文档。然而,即使他们有大量的文档,用户指南和API 文档之间的还是有一个 很大的差距。用户向导涵盖了一系列的课题,从如何开始到使用比较复杂的功能;但都停止 在这些不很复杂的功能上,比如:样式扩展的技巧,元数据可以做和不可以做的,当然也包 括Flex 框架和组件生命周期。有很高层次的概述,但这些都在用户能弄明白的能力范围之 外。 从API 文档中我们可以推断出很多功能和命令,有时它们是引导我们,但也有时关于一些信 息会戏弄我们。通常,API 文档假定你知道要查找的东西,它们只是解释一下如何去做;但 不会告诉你何时或为什么去用它们。由于这种宏观的指导与微观的API 之间的差距,优化开 发成为了一个黑色艺术,需要程序员通过多年的经验在试验和错误中确定最佳的做法。加上 这些与Flex 只有5 年左右的历史,它从最初的表现进化到了引人注目的阶段,而我们大多 处于技术的初级阶段。 然而,作为第三方的开发者,并不是唯一留在外面的。多数Adobe 的工程师也没有完全了 解框架的细微部分。詹姆斯参加了Adobe 2008 年MAX 会议关于Flex 组件的介绍和Deepa 论坛关于Flex 的生命周期评价。 她的报告一半是关于生命周期,甚至其中一半是关于在当前Flex3 的生命周期,其余的是关 于Flex4 的变化。 随着她在高层次的深入概述,提到近期一个Flex 架构师使她最终通过了整个生命周期。她 对观众说希望能早点了解这些信息,这样能使她能成为一个更好的工程师。 我们的观点是Flex 迷惑了我们许多人,甚至一些最受尊敬的工程师。这是一个复杂的系统 设计得非常强大,易扩展,灵活。然而,这种灵活性推展和实现创造了许多可能性。这些可 能性很多都不是最好的开发方式,甚至有可能不利于整体性能,稳定性和可扩展性的应用前 景。 本文的目的是尝试照耀到整个生命周期,使我们一些启示,作为一个开发社区,用Flex 能 创造更好的应用程序和组件。值得提醒的是,以下信息大部分是从阅读源代码推断的,一些 是好的文档,也有一些不是。如果你看到一些不太正确的,或许可以用一个更好的解决方式, 欢迎随时联络DevelopmentArc 我们(info