【发布时间】:2013-06-11 18:26:24
【问题描述】:
我有一个 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() 实现为
,那会是好的 OOP 设计吗?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);
这会被认为是一种不好的做法吗?如果有,为什么?
【问题讨论】:
标签: oop