3


1

java / flex間で文字列定数を同期させる戦略?

文字列定数のif-then比較を中心に構築された多くのビジネスルールを持つWebアプリケーションがあるとします。 これらは、クライアント側とバックエンドの両方のコードで使用され、現時点では両方の場所でひどくハードコーディングされており、多くの重複と時にはエラーが発生します。 それらをリファクタリングする賢明な方法は何ですか? 残念なことに、ポリモーフィズムを使用するとはるかに恐ろしいため、ほとんどの場合、それらは存在しなければなりません。 flex / javaに固有のものはありますか? これらすべての定数を1か所に保持し、クライアントコードとサーバーコードの両方にコンパイルする簡単な方法はありますか?

編集:私は本当にすべてのコンパイル時のチェックでフレックスとJavaの間で文字列定数を共有する方法を探しています。 私が考えることができる唯一のアイデアは、コードジェネレーターです。

3 Answer


1


FlexとJavaの両方が、これらのファイルの内容がこの形式の単純な.propertiesファイルをサポートしていない

key1=value 1
key2=value 2

等々…​

共通の.propertiesファイルを定義して、2つのプロジェクト間で共有してみませんか? ここでもバージョン管理システムが役立ちます。 たとえば、svnを使用している場合、.propertiesファイルを別のリポジトリに配置し、http://svnbook.red-bean.com/en/1.0/ch07s03.html [svn:externals]を使用してそれらを両方で共有できます。フレックスおよびJavaリポジトリ。

プロパティの読み込みと使用については、次のページに各言語/プラットフォームでの実行方法を示します。

Javaの場合:http://www.mkyong.com/java/java-properties-file-examples/

Flexの場合:http://vatsalad.wordpress.com/2010/03/12/how-to-use-properties-fileresourcebundle-in-flex/


1


コード生成は思ったより簡単です。 あなたがそれがあなたがする必要があることを本当に信じているなら、私はおそらくあなたが目的のために(特に文字列定数のために)修正できる例を(カスタムAntタスクはプレーンなJava「メイン」アプリとして実行できますが)提供することができますあなたが欲しい。

私が正しく理解していれば、コンパイル時の「キー」チェックを提供するものを探していますか(オートコンプリートサポートも提供します)? そのため、ここではプロパティファイルはあまり役に立ちません。


0


jarとして配布されるプロジェクトにそれらを保管します。 コードの重複を避けるために、すべてのutilクラスをそこに配置することもできます。