【发布时间】:2011-07-31 19:34:45
【问题描述】:
对于何时应该使用委托进行间接关联和观察者是否有任何指导方针?
在 C# 中,您可以使用委托进行简单的回调。我猜指向函数的指针和指向成员函数的指针也可以被视为委托(对吗?)。
我意识到确实使用观察者,你需要创建一个接口,并实现它,所以它是更强类型的,关系更正式。对于委托,只要函数签名和可访问性匹配,就可以“挂钩”。
委托是否使观察者模式没有实际意义?您如何决定委托与观察者模式?
【问题讨论】:
-
顺便说一句:在 .NET 4 中,这样的接口已经存在:
IObservable<T>和IObserver<T>。您可以使用响应式扩展轻松组合可观察对象和观察者。
标签: c# design-patterns