Flex を使用して Adobe Air アプリケーションを構築しています。フォーマットコードに国のリストや国籍のリストなどをいくつか導入すると、ArrayCollection
コードが乱雑になり、信じられないほど長くなります。
ArrayCollection を同じ Flex プロジェクト内の個別のファイルに配置し、必要に応じて、またはコンパイル時にロードすることはできますか?
Flex を使用して Adobe Air アプリケーションを構築しています。フォーマットコードに国のリストや国籍のリストなどをいくつか導入すると、ArrayCollection
コードが乱雑になり、信じられないほど長くなります。
ArrayCollection を同じ Flex プロジェクト内の個別のファイルに配置し、必要に応じて、またはコンパイル時にロードすることはできますか?
はい; ArrayCollections を拡張し、ArrayCollection の要素をハードコードする ActionScript でクラスを作成します。おそらく、新しいクラスのコンストラクター内にあります。
この新しいクラスは、ArrayCollection を使用できる場所ならどこでも使用できるはずです。
そこで、大量のデータを表示/使用する Air アプリケーションを実装しました。このデータをハード コードしたくないし、データをクラスの外に移動するためだけに ArrayCollection を拡張したくありません。この最も柔軟なソリューションは、データを XML ファイルに詰め込み、それをアプリケーションにコンパイルし、パーサーを実装してデータからオブジェクト (またはより適切なクラスのインスタンス) を作成することです。これは、プロキシ、アダプタ、または使用するパターンによって非表示にする必要があります。
この機能があれば、それを再利用できる可能性があり、ファイル システムからデータを非同期的にロードする (またはパッケージ化された Air アプリケーションからのアセットとして)、データベースからデータを取得するなど、データ ソースにさまざまなアダプターを実装するだけで済みます。 Air に同梱されるか、(Web) サービス (JSON、XML、AMF) を使用します。これは、アプリケーションをよりモジュール化し、テストを容易にするための良い練習になるかもしれません。
継承に関しては、継承よりも構成を優先する必要があります。これは、アプリケーションの設計における一般的なベスト プラクティスです。