1 概述
Parsley 是一个为 Flex 和 Flash 设计的 IOC
容器和消息框架,使用它可以创建高解耦的构架,它允许你用Metadata, MXML, XML 或者 ActionScript 来配置
object,而这些 object 由一个容器来管理,而且 Parsley 是非常容易扩展的.
许多其它 Flash
平台的框架,有的是纯 Flex 框架而不能在没有 Flex SDK 时使用,有的就是不能与 Flex 深度集成的 Flash
框架,而Parsley 两者的功能都具有. 本框架的核心 ( IOC 容器与消息子系统) 并不依赖于 Flex SDK ,
但有一些额外的模块是专为 Flex 设计的, 为 MXML 配置、视力注入和 Flex模块提供了支持.
1.1 特性列表本部分提及了开发手册中其它章节的概要. 此外也包括了一些用例.
IOC 容器
Parsley
是一个优秀的 IOC 容器. 它提供了依赖注入、对象生命周期的管理和消息的支持. 它与其它框架最主要的不同是框架的作用域: 它像其它小型的
IOC 框架一样为简单程序提供了易用性,而且也为大型、复杂和模块化的程序提供了许多特性,如:支持 Flex 模块、对象清理和大量的扩展点.
依赖注入
这是任何 IOC 容器的核心功能. 现在 Parsley 2 的依赖注入功能可以非常方便地使用 AS3 Metadata 标签 ([Inject])(或者MXML、XML) 来对属性、方法或者构造函数进行声明. 查看了解详细.
消息
Parsley
包含一个消息框架允许对象以完全解耦的方式发送和接收消息. 你可以在发送对象上使用[ManagedEvents]标签来声明事件,
这样可以通过Parsley传递给注册该事件的处理器. 接收对象可以使用几种 metadata
标签如:[MessageHandler]来声明对特定消息类型的关注.
消息的传递是基于消息的类型(class)的,此外还可以增加消息的选择器如:事件的类型,
而不是像传统的事件处理器只基于纯字符串.这样你无需关心事件类型的常量在整个系统中是否唯一的问题. 查看了解细节.
高级 IOC 容器特性
: 对象使用[PostConstruct]标记的方法 会在对象实例化和配置后调用,而带有[PreDestroy]标记的方法会在容器销毁后调用. 对于模块化的程序,你需要创建动态的加载子内容,而当它不再被使用时则可以清除整个模块.
: 异步初始化对象时的可选配置 (例如:在使用对象前需要加载数据). 容器会在配置成异步的对象准备好后才初始化其它对象.
Flex 视图的注入
这是特别为Flex设计的整合模块并解决了你不想在 IOC 容器配置文件中声明 Flex 组件的问题, 就像平常一样在 MXML 视图中添加组件. Parsley 2 允许当组件添加到 Stage 后就交给 IOC 容器来处理. 查看了解细节.
对 Flex 模块的支持
作为 Flex 的特别整合的模块,它可以关联到在特定内容需要的配置类、Flex 模块文件、services, actions, mediators 等等.当 Flex 模块被缷载时,与该模块相关的整个子系统、对象也会被销毁. 查看了解详细.
本地化
使用[ResourceBinding]标签将属性与资源文件绑定. 对于 Flex 程序,整合到 Flex ResourceManager,对于 Flash 程序也有相关的本地化模块. 查看了解详细.
扩展性
Parsley 可以作为创建更高级框架的基础. 你也可以根据你的需要为你的程序添加一些配置标签进行相应的开发. Parsley 是很容易进行扩展的. 一个接口的实现就可以用来创建自定义配置标签,如: Metadata, MXML 或者 XML 标签. 查看和了解细节.
1.2
Parsley 和 Spicelib 模块的 SWC 文件Parsley 和底层的 Spicelib 是非常模块化的, 你只需选择你需要的
SWC 文件. 下载后的release文件夹包含了 Parsley 和 Spicelib 的 SWC 文件以及它们对应的 Flex 和
Flash 版本.
module文件夹包含了实现不同子功能的 SWC 文件,你可以根据你需要添加到你的库路径中去. 使用子功能的 SWC 文件时,你需要注意每个 SWC 文件的依赖特性.
以下的图表展示了不同 SWC 之间的依赖特性. 名字省略了版本号和后缀名. 为了图表的清晰略去了几个可选的依赖文件.
以下的表格总结了每个 SWC 的内容:
spicelib-core | 核心 utilities, errors 和 events. |
spicelib-reflect | Spicelib Reflection API. 查看 第了解细节. |
spicelib-xml | XML-to-Object 映射器. 查看 第了解细节. |
spicelib-task | 异步操作的Task 框架. 查看 第了解细节. |
spicelib-flash | Flash 日志框架. 查看 第了解细节. |
parsley-core | 核心 IOC 容器 - 依赖注入,消息, Metadata 或者 ActionScript 配置. |
parsley-flex | Flex 整合特性:,,. |
parsley-xml | 提供 XML 文件进行配置的支持 . 查看 第了解细节. |
parsley-flash | Flash 整合特性: 第,. |
parsley-pimento | 为 Pimento 和 Cinnamon 配置标签. 查看 第和 第. |
阅读(2506) | 评论(0) | 转发(0) |