我最初将在C#3.0中实现一个观察者模式来解决我的问题,尽管它不会以完全相同的方式实现。
我的问题是我有一个可以发布消息的用户的Web应用程序。通知不会直接发送给其他用户,而是发送到更新统计信息对象的分布式缓存,用户可以检查统计信息,以决定是否需要更新。
我目前有一个IObserver接口,需要根据发布消息的人员以及他们如何做到这一点来实现多个Update()方法。
我也查看过调解器模式,但我不认为它是正确的,因为调解器的实例不会有当前登录的人员列表。
我现在想知道是否有另一种既定的设计模式更合适,或者我是否应该完善我现有的Observer模式以满足我的需求。
由于
答案 0 :(得分:6)
你不能通过活动/代表实现它吗?这是在C#和其他.Net语言中实现Observer模式的标准方法。
答案 1 :(得分:3)
.Net事件不是伪装的观察者模式吗? :)你可以有一个类,比如说Statistic,让那个类暴露一个OnUpdate()事件。
答案 2 :(得分:1)
C#采用了一种设计模式,使其成为该语言的一等公民。为什么不简单地使用提供的内容?我没有在C#中看到内置事件结构无法完成的示例。