2011-02-01 4 views
1

私は、Nokia &ブラックベリーのJava MIDletアプリケーションを開発しています。これらの2つのバージョン(独自のコードを持つ)を1つのプロジェクトで使用するために、デバイス固有の変数を初期化するための静的なブール変数j2meを使用しています。これは良い働き方ですか?私はまた、デバイスの特定のコードを読み込むためにantビルドファイルを作成することも考えました。異なるデバイス用のアプリケーションを開発するためのベストプラクティス(1つのプロジェクトでコードをミックスする方法)

私は可能な限りダイナミックなアプリを作成することで、ロジックの最大の違いを解決しました。

private void initDeviceSpecificVariables() { 
    if(Settings.j2me) {  System.out.println("Loading j2me specifik variables"); 
    db = new DatabaseJ2me(); 
    parser = new J2meParser(db); 
    } 
    else {     System.out.println("Loading bb specifik variables"); 
    db = new DatabaseBB(); 
    parser = new BBParser(db); 
    } 
} 
+0

これは解決策になる可能性があります - >おそらく、アリを使用して柔軟なデザインを変更できないコードの特定の部分を変更する可能性がありますか?そして、それが私と一緒に働いているからです。 – Vincent

答えて

2

可能であれば、プラットフォーム抽象化レイヤーを作成し、その上にアプリケーションコードを記述します。プラットフォーム抽象化レイヤーは、両方のプラットフォーム用のコードで実装することもできますし、各プラットフォーム用の一連のインターフェイスと別個の実装にすることもできます。このようなアプローチでは、コアアプリケーションコードとプラットフォーム固有のコードを切り離すことができます。また、プラットフォームの各バージョンごとに2セットのライブラリを使用して、アプリケーションコードライブラリの単一バージョンを維持することもできます。

関連する問題