0

私がする必要があるのは、設定構造をオブジェクトに保存することです。次の前提条件で、Java でプロパティを保存する通常のパターンはありますか。

  • さまざまなデータ型を設定として表示できます (Boolean、Int、Checkbox)
  • 異なる DataType には異なる数の値があります (ブール値は 1 つ、チェックボックスは多数)
  • プリファレンス エントリがいくつ存在するかは不明です。

            {TYPE;NAME;VALUE} 
            {TYPE;NAME;VALUE} 
            {TYPE;NAME;VALUE}
    

例えば:

            {CHECKBOXES;"Radio box choice"; { Red, White, Blue}}
            {BOOLEAN;"Hintergrund"; true}} 
            {INT;"Page number"; 34}} 
            {STRING;"App title";"Jenny"}}
4

3 に答える 3

2

プロパティtypename、およびvaluesを持つ Preference という名前のベース JavaBean (POJO) を作成します。CheckboxPref、BooleanPref など、設定タイプごとに設定のサブクラスを作成します。これらのサブクラスで動作を適切にオーバーライドします。たとえば、CheckBoxPref の setValue() は、IntPref の setValue() とは動作が異なる場合があります。

次に、PreferenceManager という別のクラスを作成します。そこに設定のコレクションを保存し、loadPreferences(File preferenceFile)、setPreferenceValue(String name) などのメソッドを公開します。

PreferenceManager は、Preference Type に従って、適切な Preference サブクラスを作成するための FactoryMethod としても使用できます。

それがパターンかどうかはわかりませんが、それが私のやり方です。

于 2012-06-21T12:51:19.190 に答える
1

JavaPreferencesAPIを使用することをお勧めします。

http://docs.oracle.com/javase/7/docs/api/java/util/prefs/Preferences.html

于 2012-06-21T12:25:22.007 に答える
0

プロパティを表すクラスを作成できます。オブジェクトでリストを使用します。

class Property{

   enum dataType; //create a specific enum
   String name;
   Object value;

}

さらに詳しく知りたい場合は、このプロパティから継承して、BooleanPropertyやStringPropertyなどのsommeタイプの特殊なクラスを追加できます。

于 2012-06-21T12:29:25.283 に答える