V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
itfanr
V2EX  ›  问与答

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

  •  
  •   itfanr · Mar 22, 2014 · 4137 views
    This topic created in 4424 days ago, the information mentioned may be changed or developed.
    委托是一种定义方法签名的类型。 当实例化委托时,您可以将其实例与任何具有兼容签名的方法相关联。 您可以通过委托实例调用方法。
    委托用于将方法作为参数传递给其他方法。 事件处理程序就是通过委托调用的方法。 您可以创建一个自定义方法,当发生特定事件时某个类(例如 Windows 控件)就可以调用您的方法。

    http://msdn.microsoft.com/zh-cn/library/ms173171.aspx
    1 replies    1970-01-01 08:00:00 +08:00
    otakustay
        1
    otakustay  
       Mar 23, 2014 via iPhone
    委托是让方法可以像对象那样被使用,本身和任何模式都没关系
    C#中的事件(event)对应的是观察者模式
    至于代理模式,其应用目标是一个对象而不是方法,因此完全是两回事
    楼主可以再重新梳理设计模式认真理解下各模式的含义
    一般比较会弄混的是代理和装饰模式吧……
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1537 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 16:18 · PVG 00:18 · LAX 09:18 · JFK 12:18
    ♥ Do have faith in what you're doing.