2009-06-10 8 views
2

私は多くのクラスを共有する2つのCairngorm MVC Flexアプリケーション(同じアプリケーションのフルバージョンとライトバージョン)を持っています。私はこれらのクラスをSWCとしてコンパイルされたFlexライブラリプロジェクトに入れました。どちらのアプリケーションも静的な文字列定数を使用します。今、私はModelLocatorでこれらを格納しています:再利用された静的文字列定数はどこでFlexアプリケーションに格納する必要がありますか?

package model 
{ 
    [Bindable] 
    public class ModelLocator 
    { 
     public static var __instance:ModelLocator = null; 

     public static const SUCCESS:String = "success"; 

     public static const FAILURE:String = "failure"; 

     public static const RUNNING:String = "running"; 

     ... 
    } 
} 

これは単に、特に今、彼らは両方のアプリケーションで使用されていることを、これらの定数を格納するための最良の場所のように思われない、と私は、各アプリケーションに設定しています独自のModelLocatorクラスを持ちます。これはModelLocatorクラスの目的ではありません。

これらの定数を共有ライブラリに保存するにはどうすればよいでしょうか?

私はちょうど

package 
{ 
    [Bindable] 
    public class Constants 
    { 
     public static const SUCCESS:String = "success"; 

     public static const FAILURE:String = "failure"; 

     public static const RUNNING:String = "running"; 
    } 
} 

?:このようなクラスを作成し、このようにそれを参照する必要があります:私は代わりに、単一の、論理的な意味での定数を整理すると言うだろう

if (value == Constant.SUCCESS) 
    ... 

答えて

13

定数クラス。私はこれを見つける

public class TaskStates { 
    public static const SUCCESS:String = "success"; 
    public static const FAILURE:String = "failure"; 
    public static const RUNNING:String = "running"; 
} 

public class FileErrors { 
    public static const FILE_NOT_FOUND:String = "filenotfound"; 
    public static const INVALID_FORMAT:String = "invalidformat"; 
    public static const READ_ONLY:String = "readonly"; 
} 

はあなたがタスクの状態のいくつかの種類として表示され、あなたには、いくつかのより多くのファイルアクセス(ちょうどここにものを作る)のエラーコードとして使用されてきたその3を持っていると言います期待値が何かのものであるかを簡単に文書化することができます。 "成功、失敗、実行中のどちらかを返す"と言うのではなく、 "TaskState。*値の1つを返す"と言うことができます。

これらをすべて定数用の単一のパッケージに入れたり、クラスを使用するクラスと同じパッケージに定数クラスを置くことができます。

+0

良いアイデアありがとう。 –

関連する問題