Observer for .Net的替代设计模式

时间:2009-07-28 17:44:37

标签: c# design-patterns observer-pattern

我最初将在C#3.0中实现一个观察者模式来解决我的问题,尽管它不会以完全相同的方式实现。

我的问题是我有一个可以发布消息的用户的Web应用程序。通知不会直接发送给其他用户,而是发送到更新统计信息对象的分布式缓存,用户可以检查统计信息,以决定是否需要更新。

我目前有一个IObserver接口,需要根据发布消息的人员以及他们如何做到这一点来实现多个Update()方法。

我也查看过调解器模式,但我不认为它是正确的,因为调解器的实例不会有当前登录的人员列表。

我现在想知道是否有另一种既定的设计模式更合适,或者我是否应该完善我现有的Observer模式以满足我的需求。

由于

3 个答案:

答案 0 :(得分:6)

你不能通过活动/代表实现它吗?这是在C#和其他.Net语言中实现Observer模式的标准方法。

答案 1 :(得分:3)

.Net事件不是伪装的观察者模式吗? :)你可以有一个类,比如说Statistic,让那个类暴露一个OnUpdate()事件。

答案 2 :(得分:1)

C#采用了一种设计模式,使其成为该语言的一等公民。为什么不简单地使用提供的内容?我没有在C#中看到内置事件结构无法完成的示例。