Hide Delegate(隐藏“委托关系”)
来源:互联网 发布:c语言进制转换程序 编辑:程序博客网 时间:2024/05/17 05:56
客户通过一个委托类来调用另一个对象。
在服务类上建立客户所需的所有函数,用以隐藏委托关系。
1.动机
- “封装”意味每个对象都应该尽可能少了解系统的其他部分。如此一来,一旦发生变化,需要了解这一变化的对象就会比较少—这会使变化比较容易进行。
- 如果某个客户先通过服务对象的字段得到另一个对象,然后调用后者的函数,那么客户必须知晓这一层委托关系。万一委托干洗发生变化,客户也得相应变化。你可以在服务对象上放置一个简单的委托函数,将委托关系隐藏起来,从而去除这种依赖。这么一来,即便将来发生委托关系上的关系,变化也将被限制在服务对象中,不会涉及客户。
2.做法
- 对于每一个委托关系中的函数,在服务对象短建立一个简单的委托函数。
- 调用客户,令它值调用服务对象提供的函数。
1)如果使用者和服务提供者不在同一个包,考虑修改委托函数的访问权限,ran给客户得以在包之外调用它。 - 每次调整后,编译并测试。
- 如果将来不再有任何客户需要取用Delegate(委托类),便可移除服务对象短而相关访问函数
- 编译,测试。
阅读全文
0 0
- Hide Delegate(隐藏“委托关系”)
- Hide Delegate(隐藏委托关系)
- 7.5 hide delegate (隐藏委托关系)
- 在对象之间搬移特性---Hide Delegate(隐藏委托关系)
- 在对象之间搬移特性之五 :Hide Delegate(隐藏「委托关系」)
- 重载(overload)、覆盖(override)、隐藏(hide)关系
- 委托(Delegate)
- 委托(Delegate)
- 委托(Delegate)
- 委托(Delegate)
- 委托(Delegate)
- 委托(Delegate)
- 委托(Delegate)
- 什么是委托(Delegate)
- 什么是委托(Delegate)
- 委托(Delegate)机制
- 委托(delegate)模式
- 委托(delegate)
- 数据应用达人之SQL基础教程分享6-比较与逻辑操作
- 百度RSS整理
- html 基础入门
- web移动端浮层滚动带动底层元素滚动问题解决
- 如何查看端口被哪个程序应用
- Hide Delegate(隐藏“委托关系”)
- mybatis中的多参传递,包含实体的多参传递
- uva100解题报告
- 刷清橙OJ--A1095.教室排课
- mysql 5.7 this is incompatible with sql_mode=only_full_group_by 问题
- 算法概论课后习题
- 全屏、沉浸式、fitSystemWindow使用及原理分析:全方位控制“沉浸式”的实现
- 记一些常用又不好记的东西
- 51nod 1594 Gcd and Phi