隐藏“委托关系”(Hide Delegate)
客户通过一个委托类来调用另一个对象;在服务类上建立客户所需的所有函数,用以隐藏委托关系
一、动机
1、封装意味着每个对象都应该尽量少的了解系统的其它部分,如此一来,一旦发生变化,需要了解这一变化的对象就会比较少--这会使变化容易进行
2、减少对象依赖
二、做法
1、对于每一个委托关系中的函数,在服务对象端建立一个简单的委托函数
2、调整客户,令它只调用服务对象提供的函数
3、每次调整后,编译并测试
4、如果将来不再有任何客户需要取用Delegate,便可移除服务对象中的相关访问函数
5、编译,测试
时间: 2024-10-14 17:11:21