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

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

asioctop

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

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

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

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

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

  1. // new instance of asioc container
  2. var ioc:IoCContainer = new IoCContainerAdapter();
  3.  
  4. // new instance of asioc component
  5. var iocComp:IoCComponent = new IoCComponentAdapter();
  6.  
  7. // setting params for ioccomponent
  8. iocComp.setIoCComponentParams(SimpleClazz”,// class id
  9.         “org.asioc.example.SimpleClazz”,// class path
  10.         null,     // factory method name
  11.         null,     // is singleton
  12.         null);    // is lazy init
  13. // registering instance of ioc componnet      
  14. ioc.registerComponent(iocComp);

b) XMLで定義する

  1. <?xml version=”1.0encoding=”UTF-8?>
  2. <!DOCTYPE HTML PUBLIC-//ASIOC//DTD ASBEANS 0.1//EN
  3.         “http://asioc.sourceforge.net/dtd/asioc-beans.dtd>
  4. <asbeans>
  5. <asbean
  6.     id=”SimpleClazz
  7.     class=”org.asioc.example.SimpleClazz/>
  8. </asbeans>

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

  1. // new instance of asioc container
  2. var ioc:IoCContainer = new IoCContainerAdapter();
  3.  
  4. // new instance of your class
  5. var obj : SimpleClazz = new org.asioc.example.SimpleClazz();
  6.  
  7. // register instance
  8. ioc.registerComponentInstance(obj, “SimpleClazz);

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

  1. var another_obj : SimpleClazz = null;
  2. another_obj = ioc.getComponentInstance("SimpleClazz");

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

関連リンク

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

メインコンテンツEND ■
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Posted on Thursday, 23rd April 2009 by admin

Tags: , ,
Posted in ActionScript, Flash Project | Comments (0) | 2,381 views

Related Posts

Leave a Reply