(2)Cairngorm2.2 CairngormEnterprise

今回は、Cairngorm2.2のEnterpriseの方のソースを見てみます。


Cairngorm2.2におけるEnterprise側のクラスは3つです。


IEnterpriseServiceLocator.as
EnterpriseServiceLocator.as
DataServices.as



■IEnterpriseServiceLocator.as

インターフェイスなので中身の説明は省略しますね

■EnterpriseServiceLocator.as

上記インターフェイスを実装し、ServiceLocatorを継承したクラス。

Enterpriseを使用する際は、こちらのEnterpriseServiceLocatorを利用することになりそうです。

シングルトンなので使用する際はgetInstance()を!

で、

中身ですが、基本的にはDataServicesインスタンスを保持する(管理する)クラスです。

そのほかには認証系のメソッドがあります。


■DataServices.as

AbstractServicesを継承したクラス。

基本的にサービスクラスをprivateメンバであるDictionaryで保持する。

Dictionaryへの登録は、register()メソッドで行っており、register()メソッドはEnterpriseServiceLocatorによって呼び出されます。

またregister()メソッド内では、DataServiceインスタンスを、使用者(プログラマ)が記述したServiceMXMLのアクセッサから取得しています(javaでいうリフレクションしてる →実際にはAbstractServiceがやってるっぽいですw)

あとは認証系w



というわけで、Cairngorm2.1と、使用方法はあまり変わらないっぽいが、中身(特にクラス個々のレイアウト)がけっこう変わっていました。

私は業務ではFDS使ってませんので、当面は使用しません。。。



次回は、普通の?Cairngorm2.2に戻って、ServiceLocator周りをチェックしてみます。