编程设计模式中委托 (C#)和代理模式(JAVA)什么区别?

2014-03-22 19:54:21 +08:00
 itfanr
委托是一种定义方法签名的类型。 当实例化委托时,您可以将其实例与任何具有兼容签名的方法相关联。 您可以通过委托实例调用方法。
委托用于将方法作为参数传递给其他方法。 事件处理程序就是通过委托调用的方法。 您可以创建一个自定义方法,当发生特定事件时某个类(例如 Windows 控件)就可以调用您的方法。

http://msdn.microsoft.com/zh-cn/library/ms173171.aspx
3597 次点击
所在节点    问与答
1 条回复
otakustay
2014-03-23 12:09:51 +08:00
委托是让方法可以像对象那样被使用,本身和任何模式都没关系
C#中的事件(event)对应的是观察者模式
至于代理模式,其应用目标是一个对象而不是方法,因此完全是两回事
楼主可以再重新梳理设计模式认真理解下各模式的含义
一般比较会弄混的是代理和装饰模式吧……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/105421

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX