Habe eine Netzwerkanwendung, die Packete empfängt, verarbeitet und sendet. Da die Packete eine bestimmte Struktur haben, geschiet das Empfangen in einer Klasse, die auch die Trennung in Opcode und Daten übernimmt.
Jetzt habe ich das als Observable implementiert, sodass sich Parserklassen mit ihren Funktionen auf bestimmte Opcodes registrieren können.
Also kriegt dann jede Klasse eine Benachrichtung (und das Packet), wenn eine bestimmte Packetart empfangen wurde.
So weit so gut. Frage ist jetzt aber: Wie greife ich von den Observer Klassen, auf das Observable zu, ohne dort unnötige units einzubinden oder Zugriff auf Dinge zu ermöglichen, die gar nicht gebraucht werden?
Struktur sieht im Grunde so aus (um die 2 wichtigsten Fälle abzudecken):
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| TAccount{ TObserver1 TFoo TObservable{ TBar{ TObserver2 } } } |
Moderiert von
Narses: Topic aus Sonstiges (Delphi) verschoben am Mo 07.03.2011 um 09:25