我刚开始学习 C# 中的观察者模式,我的要求与观察者模式正好相反:
我们有许多进程正在运行,并且有一个进程监控它们。每个进程都可以(如果发生某些事件)通知父进程。
似乎已经有这个问题“观察者模式的对立面是什么? ”讨论了这个问题,但仍然没有代码示例。
为了理解观察者模式,我在这个答案中引用了 Jon Skeet 下面的代码。
using System;
class Observable
{
public event EventHandler SomethingHappened;
public void DoSomething()
{
EventHandler handler = SomethingHappened;
if (handler != null)
{
handler(this, EventArgs.Empty);
}
}
class Observer
{
public void HandleEvent(object sender, EventArgs args)
{
Console.WriteLine("Something happened to " + sender);
}
}
class Test
{
static void Main()
{
Observable observable = new Observable();
Observer observer = new Observer();
observable.SomethingHappened += observer.HandleEvent;
observable.DoSomething();
}
}
现在让我们假设我们只有一个观察者(父进程)和许多子进程。如何在 C# 的观察者模式中实现这一点。是否有任何其他模式可用于此实现?
提前感谢您的回答。