public Department get_department() {
return _department;
}
public void set_department(Department _department) {
this._department = _department;
}
}
class Department{
private String _changeCode;
private Person _manager;
Person john = new Person();
Person manager = john.get_department().get_manager();
1
2
这样的编码对客户暴露了Department的工作原理,于是客户知道;Department用以追踪“经理”这条信息。如果对客户隐藏Department,可以减少耦合。为了到达预期的目的,在Person中建立一个简单的委托函数:
public Person getManager(){
return _department.get_manager();
}
1
2
3
现在,需要修改Person的所有用户,让它们使用新的函数:
Person manager = john.getManager();
1
Remove Middle Man