事件和委托模式是哪种设计模式?

5
在学习事件和委托时,我不禁想到观察者设计模式。
我对C#和设计模式都处于新手级别。当使用事件和委托从子窗体触发事件并被父窗体捕获时,这是观察者设计模式吗?
除了观察者模式之外,还有哪些设计模式在事件和委托中使用?
我很想知道.NET中基于常见设计模式(如Gang of Four)的其他“东西”(抱歉我的术语不足)。
如果能将代码示例和解释与某个模式相关联,我认为更容易理解这些主题。至少在我看来是这样的。
谢谢。
2个回答

3

你说得对 - 事件/委托确实是观察者模式的一种实现。

有人说这个模式是.NET框架中的头等公民。

除了观察者模式,当然还有迭代器模式(每当你使用foreachIEnumerable \ IEnumarable<T>时)。


3

这是观察者设计模式吗?

是的。事件基本上是观察者设计模式的一个特定语言实现。在C#中,它被认为足够有用,可以直接构建到语言中。

许多设计模式可以使用委托在C#中编写 - 但这更多是一种实现细节,而不是模式本身。例如,访问者模式和命令模式可以通过委托进行实现(非常优雅)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接