C# でオブザーバー パターンの学習を始めたばかりで、私の要件はオブザーバー パターンの正反対です。
多くのプロセスが実行されており、単一のプロセスがそれらすべてを監視しています。すべてのプロセスは、(何らかのイベントが発生した場合) 親プロセスに通知できます。
この質問「オブザーバーパターンの反対は何ですか?」 が既にあるようですが、これについて説明していますが、コード例はまだありません。
オブザーバー パターンを理解するために、この回答で Jon Skeet がこのコードを参照しました。
デリゲートを使用した C# オブザーバー/オブザーバブルの非常に単純な例
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();
}
}
ここで、オブザーバー (親プロセス) が 1 つだけで、子プロセスが多数あるとします。c# のオブザーバー パターンでこれをどのように実装しますか。この実装に他のパターンを使用できますか?
事前にご回答いただきありがとうございます。