1
假設我有user (id, name, user_type, address, access_level, and_so_on)
最好的地方來定義常量值的變量實體bean在Java中
這2個屬性是很重要的,user_type
和access_level
的實體。我們知道在user_type和access_level字段中會有一個固定值,但它很難記住1,2或3的含義,因此我們爲這些值創建常量以便按名稱訪問它們。如user_type值爲1,其爲普通用戶,2表示CSV用戶,3表示admin用戶,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;
...
}
所以我的問題是,什麼是最好的地方(以及爲什麼)來定義它們? (我能想到,但你可以定義任何方法)
- 在上述相同的類。我這樣做是因爲我不必記住其他任何東西,因爲如果我知道它的用戶,那麼它的相關信息可以在
UserBean
類中找到,自動實體生成器工具可能會覆蓋它們)。 - 創建一個包含與用戶相關的所有常量的新類,該常量類的名稱應該是什麼(易於記憶/或猜測)?
- 爲每個類型的常量創建2個單獨的類(更多依賴)?
IMO,[Enums](http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html)似乎符合您案例中的法案(並且命名可以像'UserTypeEnum', 'AccessLevelEnum'等)。 – SudoRahul