Article View: alt.pl.comp.lang.csharp
Article #9928Re: CS, Eventy i Multicast
From: Kuba Florczyk
Date: Thu, 10 Nov 2005 14:54
Date: Thu, 10 Nov 2005 14:54
34 lines
2673 bytes
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-mailReferences:
<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