我剛開始學習C#觀察者模式,我的要求是觀察者模式正好相反家長:僅僅實現觀察者模式(C#)的相反 - 監控所有孩子的
我們有運行多個進程並且一個進程監控它們全部。 每個進程都可以(如果發生某些事件)通知父進程。
這個問題似乎已經出現了這個問題「What is the opposite of the observer pattern?」但還沒有代碼示例。
爲了理解觀察者模式,我在下面由Jon Skeet在這個答案中提到了下面的代碼。
Super-simple example of C# observer/observable with delegates
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#中以觀察者模式實現這一點。是否有其他模式可用於此實現?
感謝您提前給出答案。
那麼,爲什麼你不使用觀察者模式?每個進程都實現了oberservable接口,並且一個進程監視它們全都觀察每個進程?將是最清潔的解決方案恕我直言 – Coxer