有没有关于何时应该使用委托进行间接关联和使用观察者的指导方针?
在C#中,您可以使用委托进行简单的回调。我想函数指针和成员函数指针也可以被认为是委托(我对吗?)。
我意识到,如果要使用观察者,您需要创建一个接口并实现它,因此它更具有强类型和更正式的关系。对于委托,只要函数签名和可访问性匹配,就可以“连接”它们。
委托是否使观察者模式无效?如何决定使用委托还是观察者模式?
在C#中,您可以使用委托进行简单的回调。我想函数指针和成员函数指针也可以被认为是委托(我对吗?)。
我意识到,如果要使用观察者,您需要创建一个接口并实现它,因此它更具有强类型和更正式的关系。对于委托,只要函数签名和可访问性匹配,就可以“连接”它们。
委托是否使观察者模式无效?如何决定使用委托还是观察者模式?
IObservable<T>
和IObserver<T>
。而且你可以使用反应式扩展轻松地组合可观察对象和观察者。 - R. Martinho Fernandes