2017-11-27 19 views
2

この文脈では、「静的な」情報という意味の情報を意味します。テーブルの列タイトルやテキストビューのヒントなど、さまざまな場所で使用できるフィールドの表示名のようなものです。情報をクラスフィールドにリンクする最も良い方法は何ですか?

我々はPOJOを以下していると仮定しましょう:

class Person 
{ 
    private String name; 
    private int age; 
} 

は、今私は、次のインターフェイスでPOJOのフィールドにいくつかの情報を追加したい:

public interface Field<T> 
{ 
    String getDbName(); 
    String getDisplayName(); 
    Validator getValidator(); 
    View createTableCell(T data); 
    View createInput(T data); 
} 

POJOの各フィールドはにリストされますPersonFieldsというクラス:

class PersonFields 
{ 
    public static final NAME = new Field<Person>() 
    { 
     @Override 
     public String getDisplayName() 
     { 
      return Utils.getString(R.string.person_name); 
     } 

     ... 
    } 
} 

これは悪い考えですか?あるいは、このようなものをアーカイブするための他の方法がありますか?

答えて

0

Javaではstaticを使用することは決してお勧めできません。

アプリケーションで単一の状態を維持する必要がある場合は、アンチパターンシングルトンを使用します。

+0

私は、静的なものを使うことは悪いことに同意します。しかし、例えばdisplaynameは静的なものです(私はリソースから値を受け取ります)。私は静的ではないフィールド値を作成することができますが、私は毎回この情報の新しいオブジェクトを作成する必要があります。私の問題は、私はこのフィールド情報をさまざまな場所で使いたいと思っています。 – kAliert

関連する問題