1

エンティティがあるとしますuser (id, name, user_type, address, access_level, and_so_on)

user_typeここで2 つのプロパティが重要access_levelです。user_type および access_level フィールドに固定値があることはわかっていますが、1、2、または 3 の意味を思い出すのは難しいため、これらの値の定数を作成して名前でアクセスします。user_type 値が 1 の場合、通常のユーザー、2 は CSV ユーザー、3 は管理者ユーザー、4 は root ユーザーを意味します。

通常、これらの定数は、この値をデータベース (またはどこにでも) に保存するためのフィールドを含む同じエンティティ Bean クラスで定義します。

public UserBean implements IBean {
 ...
/**
     * constant for user type
     */
    public static final int USER_TYPE_NORMAL = 1;
    public static final int USER_TYPE_CSV = 2;
    public static final int USER_TYPE_ADMIN = 3;
    public static final int USER_TYPE_ROOT = 4;


    /**
     * constant for Access level
     */
    public static final int ACCESS_LEVEL_SILVER = 1;
    public static final int ACCESS_LEVEL_GOLD = 2;
    public static final int ACCESS_LEVEL_DIMOND = 3;
 ...
}

私の質問は、それらを定義するのに最適な場所 (およびその理由) はどこですか? (私は考えることができますが、任意のメソッドを定義できます)

  1. 上記と同じクラス内。UserBeanこれを行うのは、そのユーザーを知っている場合、その関連情報がクラスで見つかり、自動エンティティ生成ツールがそれらを上書きする可能性があるため、他に何も覚える必要がないためです)。
  2. ユーザーに関連するすべての定数を含む新しいクラスを作成します。その定数クラスの名前は何にする必要がありますか (覚えやすい/推測しやすい)?
  3. 定数の種類ごとに 2 つの個別のクラスを作成します (より多くの依存関係)?
4

1 に答える 1