ivaneeo's blog

自由的力量,自由的生活。

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
范例(Examples)
上一项重构结束时,Person将Department隐藏起来了:
class Person...
    Department _department;
    public Person getManager() {
       return _department.getManager();
    }

class Department...
    private Person _manager;
    public Department(Person manager) {
       _manager = manager;
    }
为了找出某人的经理,客户代码可能这样写:
    manager = john.getManager();
首先在Person中建立一个[受托对象(delegate)取得函数]:
    manager  = john.getDepartment.getManager();
然后逐一处理每个委托函数。

为方便起见,我也可能想要保留一部分委托关系(delegations)。此外我也可能希望对某些客户隐藏委托关系,并让另一些用户直接使用受托对象。
posted on 2005-08-31 14:03 ivaneeo 阅读(161) 评论(0)  编辑  收藏 所属分类: refactoring-从地狱中重生

只有注册用户登录后才能发表评论。


网站导航: