对象的组合与代理,委托(delegation)有什么具体区别?


提到了"面向对象指使用离散的对象来构建软件系统;设计模式利用了对象
的继承、组合和代理(delegation)"
这里我不太熟悉代理这个概念,看了
http://www.c-view.org/journal/003/pattern_gigix.htm
好像delegate又叫着委托,看了看委托的概念
"委托是对一个类的功能进行扩展和复用的方法。它的做法是:写一个附加的类提供附加的功能,并使用原来的类的实例提供原有的功能。
扩展和复用一个类的功能常用的一种方法是继承,而另一种更普遍的方法则是
委托。在很多情况下委托很适用,而继承则并不适用。"

感觉委托(代理)与组合的概念很相象,不知道他们之间有什么具体区别?
这里请教各位朋友!

委托代理关系和合成聚合关系都是从语意上理解的,查查汉语字典看看他们的意思。

你可以想象中国驻美国大使馆,大使馆就是中国政府在美国的委托代理机构。大使馆能自行解决的问题就自行解决,不能自行解决的就报告给中国政府,由政府处理。