对话:关于委托的进一步讨论(转)

问:不懂得什么是委托
答:就是一个类调用另一个类的方法成员
问:为什么要用委托呢?直接调用不就好了?
答:当一个方法是多个类的公共方法的时候,往往就可以考虑使用委托
问:噢,有什么好处吗?统一到一个地方?然后修改方便?
答:形式统一,实现自便,比如事件源,他只知道当事件发生后要处理,但他不知道要如何处理,也不知道要谁来处理,这时就使用委托,相当于我要告你诽谤,但我不知道司法程序,这件事我就委托给律师帮我实现
问:那不是调用律师类的方法吗?
答:对呀,就是一个类调用另一个类的实现方法
问:然后可能有很多人要找律师?
答:不能这么理解,应该是我可以随便找个律师帮我处理,是一对多,而不是多对一,一对多是指设计期,而一对一的实现过程是在运行期
问:那么我要处理的这个方法就是 delegate?
答:对
问:它有什么好处?
答:它把调用和实现分离开来,简单地说,就是我准备好所有的相关材料,到时任何一个律师都可以按指定材料进行相关处理,而不需要依赖于某一个律师,再深一点说,就是降低类间的耦合度

用委托实现一个类调用另一个类的方法成员,就是降低类间的耦合度

posted @ 2007-05-23 22:58  风轻如梦  阅读(190)  评论(0编辑  收藏  举报