c# – 代表与观察者模式

前端之家收集整理的这篇文章主要介绍了c# – 代表与观察者模式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
关于何时应该使用委托进行间接关联和观察员,是否有任何指导方针?

在C#中,您可以使用委托进行简单的回调.我想指向函数的指针和指向成员函数的指针也可以被视为委托(我是对的吗?).

我意识到使用观察者,你需要创建一个接口,并实现它,因此它更强类型,关系更正式.对于委托,只要函数签名和可访问性匹配,您就可以“挂钩”.

代表们是否使观察者模式没有实际意义?你如何决定代表与观察者模式?

解决方法

观察者模式已经以 events的形式为您实现.

事件的优势在于它们可以拥有多个订阅者,而使用委托时,您只能拥有一个订阅者.这使事件更好地适用于公共接口,以及您无法完全控制谁想要通知事情发生的情况.实际上,事件只是自动管理的代表列表.您必须在您的场景中看到更有意义的内容.

编辑:As commenter Rabbi mentions,上述情况并非完全正确,因为任何委托都可以成为多播委托.事件修饰符的目的是创建一个只能在定义它的类中调用的委托.这对于确保公共接口中的封装非常有用.

原文链接:https://www.f2er.com/csharp/96658.html

猜你在找的C#相关文章