【发布时间】:2011-11-24 10:42:34
【问题描述】:
假设您有类似以下的内容(遗憾的是,我不允许发布原始代码):
public void foo() {
MyObject obj = getMyObject();
bar(obj);
}
public void bar(MyObject obj) {
Type type = new Type(obj.getOtherObject());
}
foo 调用bar,传入obj。但是它没有使用obj,而是调用了一个getter来检索所需的信息。这违反得墨忒耳定律吗?
这样写会不会更好:
public void foo() {
MyObject obj = getMyObject();
bar(obj.getOtherObject());
}
public void bar(MyOtherObject otherObj) {
Type type = new Type(otherObj);
}
【问题讨论】:
标签: law-of-demeter