V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
itfanr
V2EX  ›  问与答

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

  •  
  •   itfanr · 2014-03-22 19:54:21 +08:00 · 3710 次点击
    这是一个创建于 3928 天前的主题,其中的信息可能已经有所发展或是发生改变。
    委托是一种定义方法签名的类型。 当实例化委托时,您可以将其实例与任何具有兼容签名的方法相关联。 您可以通过委托实例调用方法。
    委托用于将方法作为参数传递给其他方法。 事件处理程序就是通过委托调用的方法。 您可以创建一个自定义方法,当发生特定事件时某个类(例如 Windows 控件)就可以调用您的方法。

    http://msdn.microsoft.com/zh-cn/library/ms173171.aspx
    1 条回复    1970-01-01 08:00:00 +08:00
    otakustay
        1
    otakustay  
       2014-03-23 12:09:51 +08:00 via iPhone
    委托是让方法可以像对象那样被使用,本身和任何模式都没关系
    C#中的事件(event)对应的是观察者模式
    至于代理模式,其应用目标是一个对象而不是方法,因此完全是两回事
    楼主可以再重新梳理设计模式认真理解下各模式的含义
    一般比较会弄混的是代理和装饰模式吧……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1662 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 16:26 · PVG 00:26 · LAX 08:26 · JFK 11:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.