Wie kann ich in Anspruch nehmen IObservable / IObserver meiner „Gott Objekt“ loswerden?

StackOverflow https://stackoverflow.com/questions/2275167

Frage

In einem System, das ich gerade arbeite, habe ich viele Komponenten, die als Schnittstellen und Basisklassen definiert sind. Jeder Teil des Systems hat einige spezifische Punkte, an denen sie in Wechselwirkung mit anderen Teilen des Systems.

Zum Beispiel können die Daten readying Komponente readies einige Daten, die schließlich auf die Daten gehen muss Verarbeitungsbereich, die Kommunikationskomponente Bedürfnisse Abfrage unterschiedliche Komponenten für ihren Status nach außen für die Weiterleitung, etc.

Derzeit ich diese Teile des Systems zusammenkleben eines „Gott-Objekt“ oder ein Objekt mit intimer Kenntnis von den verschiedenen Teilen des Systems. Er registriert mit hier Veranstaltungen und pendelt um die Ergebnisse zu Methoden dort, schafft eine Callback-Methode hier und gibt das Ergebnis dieser Methode dort, und übergibt viele Anfragen über eine Multi-Threaded-Warteschlange für die Verarbeitung, weil sie „weiß“, bestimmte Aktionen haben In dem Run auf STA-Threads, usw.

Während seiner günstigen, handelt es sich um mir, dass dies eine Art weiß so viel, wie alle anderen im System ausgelegt ist. Ich würde viel ein allgemeineres Hub bevorzugen, die Instanzen gegeben werden kann, welche Ereignisse oder Methoden oder Rückrufe aussetzen kann oder dass können diese verbrauchen.

Ich habe mehr über die IObservable / IObserver Sehen Merkmale des reaktiven Rahmen und die gerollt werden in .NET 4.0 (glaube ich).

Kann ich Hebelwirkung dieses Muster zu helfen, mein „Gott Objekt“ ersetzen? Wie soll ich tun, um dies zu tun? Gibt es Mittel für die Verwendung dieses Musters für diesen Zweck?

War es hilfreich?

Lösung

Es scheint, dass Sie ersetzen können Ihre Gott Objekt mit dem, was MSDN hier beschrieben:

  

Um komplexe Ereignisverarbeitung zu erstellen   (CEP) Anwendungen, die Microsoft mit   Stream Plattform, die Sie erstellen   Strukturen, die die Ereignisse zu definieren,   Objekte die produzieren und verbrauchen die   Ereignisse und Abfragevorlagen, die   enthalten die Business-Logik erforderlich, um   verarbeitet die Ereignisse.

Unser Team bewegt sich nicht auf .Net 4.0 jederzeit schnell (leider). So umgehen wir ein Gott Objekt Szenario durch den Bau eines benutzerdefinierten Rahmen verwandt, was MAF / MEF bietet. So entstand eine verteilte Wissensbasis mit, was Microsoft ruft eine Adapter . Jeder Adapter ist nur verantwortlich für seine eigene Modul, Übergabe von Daten, Veranstaltungen, etc. Es gibt ein gemeinsame Operator , die die Daten und Ereignisse empfängt, verarbeitet und geht zurück an den jeweiligen Adapter.

Mein Verständnis von IObservable & IObserver verleiht mich, dass ein glauben, Gott Objekt wird nicht nötig sein - in der Tat ein verteiltes Wissensbasis zu schaffen, was in den verschiedenen Teilen wird. Ein offensichtlicher Vorteil dieser Schnittstellen scheint auch zu sein, dass die Zwischen Kommunikator (das heißt der Adapter) ist nicht mehr erforderlich. So ist die Verteilung von Wissen ist wirklich in der IObservable Klasse abgeleitet. Dieses Modell von Natur aus leitet eine Talker / Responder Beziehung -. Keine Vermittlung / Schlichtung Klasse

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top