我有一个 bean 类,比如Teacher,它的状态为active或inactive,每个状态都有一个标识符。为了实现这种行为,我的团队决定使用具有id和name属性的 Status bean。
现在,假设我是使用Teacher bean 的服务的客户。为了使用上述服务,我必须创建Teacher bean:
Teacher teacher = new Teacher();
teacher.setName("Some name");
...
Status status = new Status();
status.setId(1);
...
teacher.setStatus(status);
问题是:如果我们将Teacher.getStatus()实现为
Status status = null;
Status getStatus() {
if (status != null) {
return status;
} else {
return new Status();
}
}
所以我不会在任何时候调用Status构造函数来创建一个Teacher bean。像这样:
Teacher teacher = new Teacher();
teacher.setName("Some name");
teacher.getStatus().setId(1);
这会被认为是一种不好的做法吗?如果是这样,为什么?