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标注的注入点
  • 注入:
  1. 属性(如setter)
  2. 变量
  3. 方法(支持可选参数)
  4. 构造函数(支持可选参数)
  • 注入名,从而可以不仅仅通过类型,而是可以允许跟多制定的注入绑定(参见”定义注入点”)
  • 可选注入(2.x新特性)
  • [PostConstruct]标签申明了注入结束后需要调用的方法
  • [PreDestroy]标签定义了注入对象被销毁前调用的方法
  • 映射
  1. 类(针对每一次注入都会创建新的实例)
  2. 单例(第一次注入创建,然后每次注入时都复用第一次创建的对象)
  3. 规则(允许在多个映射规则之间共享单例)
  • 创建子注入器(injector),从而继承父注入器的映射关系,同时可以定义额外的映射关系或者重写父注入器的映射关系
  • 通过Injector的hasMapping方法来查询已有的注入规则
  • 通过使用Injector的getInstance方法直接应用注入规则

 

 安装

         最简单的使用Swiftsuspenders2的方法就是将提供的SWC库文件添加到你的项目中。如果你需要使用源代码,你必须在MXMLC设置中添加以下语句,如图所示:(注意是+= 而不是=)

-keep-as3-metadata+=Inject

-keep-as3-metadata+=PostConstruct

-keep-as3-metadata+=PreDestroy

 

 flashbuilder设置如下图:

 

 

 

flashdevelop设置如下图