0

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

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

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

我还查看了中介者模式,但我认为它不合适,因为中介者的实例没有当前登录者的列表。

我现在想知道是否有另一种更合适的既定设计模式,或者我是否应该完成构建我当前的观察者模式以满足我的需求。

谢谢

4

3 回答 3

6

你不能通过事件/代表来实现它吗?这是在 C# 和其他 .Net 语言中实现观察者模式的标准方法。

于 2009-07-28T17:47:56.200 回答
3

.Net 事件不只是伪装的观察者模式吗?:) 你可以有一个类,比如 Statistic,并让该类公开一个 OnUpdate() 事件。

于 2009-07-28T17:49:27.723 回答
1

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

于 2009-07-28T17:52:32.493 回答