ASIoC: JavaのSpringらしいActionScript 2のオープンソースのフレームワーク

ASIoCとは、オープンソースのJavaのSpringらしいActionScript 2のフレームワークです。

まず「IoC」とはなに?という疑問がある方が多いと思います。ここでは簡単で説明します。「IoC」は、Inversion of Control の略、別名Dependency Injectionパターン(制御の反転)ということです。軽量コンテナがなぜ有用なのかというと、制御の反転を実装しているからだという。しかしそれでは私にはなんのことやらさっぱりである。制御の反転は、フレームワークに共通する特性なのだから「軽量コンテナはスゴイ。なんたって制御の反転を使っているからね」と言われても、それは「俺のクルマはスゴイ。なんたって車輪がついているからね」と言うようなものだ。それはSpringというフレームワーク中によく使われているようです。

asioctop

簡単でと言えば上記の「IoC」を理解すればASIoCが何かできることも理解しましたね。いいものですが、AS3バージョンも対応できれば良いじゃないかと思います。。。

以下はASIoc使用方法と実例の説明です。

ASIocを使えるため、二つの手順が必要です。

Step 1:コンポーネット初期化の説明の定義、それは以下の3種類のやり方で実現できます。

a) 以下の様で直接定義する


// new instance of asioc container
var ioc:IoCContainer = new IoCContainerAdapter();

// new instance of asioc component
var iocComp:IoCComponent = new IoCComponentAdapter();

// setting params for ioccomponent
iocComp.setIoCComponentParams( “SimpleClazz”,// class id
“org.asioc.example.SimpleClazz”,// class path
null, // factory method name
null, // is singleton
null); // is lazy init
// registering instance of ioc componnet
ioc.registerComponent(iocComp);

b) XMLで定義する






c) 既存のクラスのインスタンスに登録

// new instance of asioc container
var ioc:IoCContainer = new IoCContainerAdapter();

// new instance of your class
var obj : SimpleClazz = new org.asioc.example.SimpleClazz();

// register instance
ioc.registerComponentInstance(obj, “SimpleClazz”);

Step2:IoCコンテナを利用してクラスのインスタンスを取得する

var another_obj : SimpleClazz = null;
another_obj = ioc.getComponentInstance(“SimpleClazz”);

実際の使用例は公式サイトに参照できます。「ASIoC」を使うため、「AS2Lib」、「Log4as」というライブラリが必要ということご注意ください。

関連リンク

http://asioc.sourceforge.net/  公式サイト

Leave a Reply

Your email address will not be published. Required fields are marked *