🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.pl.comp.lang.csharp
Article #9928

Re: CS, Eventy i Multicast

#9928
From: Kuba Florczyk
Date: Thu, 10 Nov 2005 14:54
34 lines
2673 bytes
> potrzebuje zrobic mechanizm filtrowania zdarzen i rozsylania ich do 
> kilku(nie wszystkich) zapisanych do zdarzen obiektow.
> Moze dziwnie to brzmi wiec napisze konkretnie o co chodzi.
>
> Jest wiele roznych obiektow(Items), ktore zmieniaja swoj stan.
> Jest tez do tego obiekt(Monitor), ktora cyklicznie sprawdza czy stan 
> obiektu sie zmienil.
> W momencie zmiany stanu Monitor generuje event o zmianie stanu obiektu 
> Item.
> Chce zrobic tak, ze do Monitora subskrybuja sie inne obiekty, ktore chca 
> otrzymac informacje o zmianie stanu jakiegos wybranego Item.
> Oczywiscie nie jest problemem, zeby wyrzucic do wszystkich zapisanych 
> obiektow event o zmianie stanu, ale jest to malo efektywne.
>
> Problemem(moze tylko dla mnie?) jest jak zrobic, zeby zapisac sie przez 
> zainteresowanego na wybrany item(identyfikowany przez string) oraz jak 
> wyslac event do jednego/kilku (ale nie wszystkich) zainteresowanych gdy 
> zmieni sie interesujacych ich item.

Na mój gust to widzę dwa rozwiązania:
- pierwsze ogólne - definiujesz eventy w itemach pod które podpina sie 
monitor, nastepnie do monitora podpinaja sie obserwatorzy. Podczas zrzucenia 
eventu przez item, sa one wysylane do obserwatorow a one decyduja czy danych 
typ jest przeznaczony dla nich, jezeli tak to powiedzmy ustawiaja flage: 
Resolved = true / Cancel = true
Wbrew pozorom jest to dosc efektywne rozwiazanie, bo obserwatorzy zasadniczo 
wykonaja tylko jedno sprawdzenie typu a wiec nie bedzie to obciazac systemu.
- drugie bardziej szczegolowe - podobnie jak pierwsze ale podefiniowac 
zdarzenia w zaleznosci od typu - plus jest taki ze bedzie mniej wywolan do 
obserwatorow i nie bedziesz musial sprawdzac typu, ale minus jest taki iz 
komplikuje to konstrukcje

pozdrawiam
kuba florczyk 
Technical Details
Message-ID: <dkvmu6$pjv$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail
References: <dkv4kp$jhi$1@news.onet.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail
From: "Kuba Florczyk" <kuba@osw.pl>
Newsgroups: alt.pl.comp.lang.csharp
Subject: Re: CS, Eventy i Multicast
Date: Thu, 10 Nov 2005 15:54:44 +0100
Organization: Onet.pl
Lines: 35
Message-ID: <dkvmu6$pjv$1@news.onet.pl>
References: <dkv4kp$jhi$1@news.onet.pl>
NNTP-Posting-Host: bqy56.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1131634438 26239 83.29.92.56 (10 Nov 2005 14:53:58 GMT)
X-Complaints-To: usenet@news.onet.pl
NNTP-Posting-Date: Thu, 10 Nov 2005 14:53:58 +0000 (UTC)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
X-Sender: 7r5oZToYrDlyfc+cvBUUA5d4biqt2/pi
X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
X-Priority: 3
X-MSMail-Priority: Normal
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit