Robotlegs2 学习笔记 -- SwiftSuspenders 2.x (2)
Swiftsuspenders2简介
Swiftsuspenders2是一个基于元数据(metadata)的IOC(控制反转,inversion of control)的AS3的解决方案。(对于元数据编程,请参《 Actionscript 3 自定义 matedata》 )
Swiftsuspenders2主要支持了很好的AS3 MVCS框架 ----Robotlegs2
为了能够在不支持自定义元数据(metadata)的Flash Professional IDE中使用Swiftsuspenders2, 可以通过使用一个简单的XML配置文件的形式来配置注入点(Injection Points)
特性
Swiftsuspenders支持以下特性,详细内容在后续文档中会一一介绍
- 基于元数据(metadata)标注的注入点(injection points)
- 针对Flash Professional(CS4版本不支持自定义元数据)而设计的基于XML标注的注入点
- 注入:
- 属性(如setter)
- 变量
- 方法(支持可选参数)
- 构造函数(支持可选参数)
- 注入名,从而可以不仅仅通过类型,而是可以允许跟多制定的注入绑定(参见”定义注入点”)
- 可选注入(2.x新特性)
- [PostConstruct]标签申明了注入结束后需要调用的方法
- [PreDestroy]标签定义了注入对象被销毁前调用的方法
- 映射
- 值
- 类(针对每一次注入都会创建新的实例)
- 单例(第一次注入创建,然后每次注入时都复用第一次创建的对象)
- 规则(允许在多个映射规则之间共享单例)
- 创建子注入器(injector),从而继承父注入器的映射关系,同时可以定义额外的映射关系或者重写父注入器的映射关系
- 通过Injector的hasMapping方法来查询已有的注入规则
- 通过使用Injector的getInstance方法直接应用注入规则
安装
最简单的使用Swiftsuspenders2的方法就是将提供的SWC库文件添加到你的项目中。如果你需要使用源代码,你必须在MXMLC设置中添加以下语句,如图所示:(注意是+= 而不是=)
-keep-as3-metadata+=Inject -keep-as3-metadata+=PostConstruct -keep-as3-metadata+=PreDestroy |
flashbuilder设置如下图:
flashdevelop设置如下图