假设我有一个实体user (id, name, user_type, address, access_level, and_so_on)
这里有 2 个属性很重要,user_type
并且access_level
. 我们知道 user_type 和 access_level 字段中会有一个固定值,但是很难记住 1 ,2 或 3 的含义,因此我们为这些值创建常量以通过名称访问它们。比如如果 user_type 值为 1,它是一个普通用户,2 表示 CSV 用户,3 表示管理员用户,4 表示 root 用户。
通常,我在同一个实体 Bean 类中定义这些常量,该实体 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 个单独的类(更多依赖项)?