代码之家  ›  专栏  ›  技术社区  ›  Arseny

为什么.NET没有像Java那样的内置观察者模式[[关闭]

  •  3
  • Arseny  · 技术社区  · 14 年前

    我想知道为什么.NETFramework没有类似于Java特性的成对(观察者/可观察者)接口?

    编辑: 是的,我知道事件和委托,但使用这些接口是一个简单和书卷式的方法,这个DP,不是吗?

    5 回复  |  直到 14 年前
        1
  •  14
  •   Richard    14 年前

    在.NET 4中 是的 : System.IObservable<T> System.IObserver<T> (它们是 Dual IEnumerable<T> IEnumerator<T> ). 看看这个 Reactive Extensions (Rx)

    更一般地说,observator模式在带有事件的.NET中得到更好的服务。

        2
  •  6
  •   Blindy    14 年前

        3
  •  4
  •   Glenn Long    12 年前

    你可以通过事件和意大利面条代码实现同样的效果,它们会让你发疯,因为它们会将自己锁定在你的非一次性内存块中。

    如果您还没有.NET4,请使用众所周知的观察者模式,并用老式的方式手工输入。

        4
  •  3
  •   uriDium    14 年前

    你可以通过事件实现同样的效果。您还可以轻松地实现自己的观察者模式。它必须是最容易实现的模式之一: http://en.wikipedia.org/wiki/Observer_pattern

        5
  •  1
  •   Jim Lonero    14 年前

    你去哪里了。它被称为事件和委托。是的,这是一个黑客,但它的工作和更多的人喜欢使用语言内置的功能,而不是一个设计模式,你必须键入自己。语言功能已经调试好,可以使用了。