dotnetomaniak.pl - Artykuły z tagiem Rx

Po przeczytaniu poprzednich wpisów, zasada działania i zastosowanie RX powinny być już jasne. Jeśli tak nie jest, koniecznie zachęcam do przeczytania tamtych postów. Jak wspomniałem, RX to ujednolicony model, umożliwiający korzystanie z kolekcji typu “push-based” w jednakowy sposób. Dzisiaj pokażę jak sprawa wygląda dla zdarzeń czyli jak skonwertować EventHandler do IObervable. Oczywiście kluczem do rozwiązania jest klasa Observable, która zawiera mnóstwo rozszerzeń dla interfejsów IObservable\IObserver...

Tagi: Rx, zdarzenia
Dziel się z innymi:
Piotr Zieliński » Reactive Extensions: Konwersja zdarzeń .NET do RX

Sztuka programowania 4358 dni, 13 godzin, 52 minuty temu pzielinski 48 źrodło rozwiń

W poprzednim poście pokazałem jak dokonać subskrypcji aby otrzymywać powiadomienia o nowych danych oraz jak skonwertować IEnumerable to IObservable. Dzisiaj chciałbym pokazać kilka metod klasy Observable, które są szczególnie ważne przy pisaniu testów jednostkowych oraz przy nauce RX.  Muszę przyznać, że na co dzień korzystam wyłącznie tylko z kilku z nich ale w przypadku UnitTest’ów są już bardzo praktyczne. Observable to zbiór statycznych metod (często rozszerzających) usprawniających pracę z IOb...

Dziel się z innymi:
Piotr Zieliński » Reactive Extensions–jak wygenerować proste źródła danych

Sztuka programowania 4361 dni, 17 godzin, 9 minut temu pzielinski 93 źrodło rozwiń

Kiedyś już chciałem poprowadzić cykl wpisów o Reactive Extensions i nawet napisałem pierwszy post wprowadzający do interfejsów IObservable, IObserver. Niestety po drodze przytrafiły się tematy które chciałem najpierw opisać i na końcu zrezygnowałem z tego. W między czasie kilka osób pytało o ten cykl ale nie widziałem sensu ponieważ Maciej Zbrzezny już wykonał kawał dobrej roboty i  opisał to na swoim blogu w bardzo szczegółowy sposób. Dzisiaj postanowiłem jednak napisać kilka postów o RX po swojemu, z t...

Dziel się z innymi:
Piotr Zieliński » Reactive Extensions–wprowadzenie

Sztuka programowania 4367 dni, 17 godzin, 37 minut temu pzielinski 111 źrodło rozwiń

RxExtension - to biblioteka od Microsoftu ułatwiająca programowanie asynchroniczne. Opiera się na istniejących interfejsach IObservable oraz IObserver. W RX wiadomości są traktowane jako strumienie danych, do których należy się przypiąć i reagować na pojawienie się nowej wiadomości. Najnowsza wersja ma już cyferkę 2, ale nie jest jeszcze oznaczona jako stabilna. Ja do nauki wykorzystałem wersję 1 oraz książeczkę dostępną na stronie RX - Dev Labs Hands On. Na Channel9 są jakieś filmy na temat RX. Poniże...

Dziel się z innymi:
jstadnicki: RX extensions w przykładach

Inne 4545 dni, 19 godzin, 53 minuty temu Paweł Łukasik 124 źrodło rozwiń

Na tym blogu pojawiło się już trochę informacji na temat Reactive Extensions (Rx), dlatego dla zainteresowanych mam informację, że niedawno udostępniona została wersja beta kolejnej odsłony Reactive Extensions. Nowa wersja RX w skrócie zawiera następujące zmiany...

Dziel się z innymi:
Reactive Extensions (Rx) v2.0 Beta już dostępna [PL] | Maciej Zbrzezny: Programowanie i Technologie

Narzędzia 4649 dni, 20 godzin, 53 minuty temu paduda 100 źrodło rozwiń

Niniejszy post jest kontynuacją cyklu o Reactive Extensions dla .NET ([RX 1], [RX 2], [RX 3], [RX 4], [RX 5], [RX 6], [RX 7], [RX 8], [RX9], [RX10], [RX11]) stanowi on kontynuację przykładu z poprzedniego wpisu i skupia się na kompozycji zdarzeń.Przejdźmy może do ciekawszego przykładu, w którym będziemy rysować linie. Linia będzie rysowana poprzez wskazanie przyciśnięciem lewego klawisza myszki jej początku, przesunięcie myszki i wskazanie końca linii poprzez zwolnienie lewego przycisku. Wymaga to złożen...

Dziel się z innymi:
[RX 12] Reactive Extensions, przykład kompozycji zdarzeń

Windows 4683 dni, 21 godzin, 6 minut temu paduda 92 źrodło rozwiń

Niniejszy post jest kontynuacją cyklu o Reactive Extensions dla .NET ([RX 1], [RX 2], [RX 3], [RX 4], [RX 5], [RX 6], [RX 7], [RX 8], [RX9], [RX10]) i pojawią się w nim przykłady wykorzystania Reactive Extensions. W ramach przykładu pokazane zostanie okno aplikacji, która w pasku statusu będzie wyświetlać, położenie kursora myszki w oknie aplikacji oraz informacja, czy kursor znajduje się w lewej, czy prawej części okna. Niniejszy przykład zostanie wykonany z wykorzystaniem WPF, należy więc pamiętać, że...

Dziel się z innymi:
[RX 11] Reactive Extensions, więcej o zdarzeniach, czyli przykłady z myszką [PL] | Maciej Zbrzezny: Programowanie i Technologie

Programowanie rozproszone 4696 dni, 20 godzin, 4 minuty temu Paweł Łukasik 110 źrodło rozwiń

Niniejszy post jest kontynuacją cyklu o Reactive Extensions dla .NET ([RX 1], [RX 2], [RX 3], [RX 4], [RX 5], [RX 6], [RX 7], [RX 8], [RX9]), dotyczyć on będzie możliwości metod rozszerzających służących wykonywaniu połączenia dwóch lub więcej strumieni. Jedną z interesujących cech Reactive Extensions jest kompozycja obserwowalnych kolekcji, czyli strumieni danych. Istnieje wiele metod rozszerzających służących wykonywaniu połączenia dwóch lub więcej strumieni; Amb, Concat, SelectMany, Merge, Zip, Combin...

Dziel się z innymi:
[RX 10] Komponowanie strumieni w Reactive Extensions [PL] | Maciej Zbrzezny: Programowanie i Technologie

Programowanie rozproszone 4708 dni, 4 godziny, 56 minut temu Paweł Łukasik 89 źrodło rozwiń

Niniejszy post jest kontynuacją cyklu o Reactive Extensions dla .NET ([RX 1], [RX 2], [RX 3], [RX 4], [RX 5], [RX 6], [RX 7], [RX 8]), dotyczyć on będzie możliwości wykorzystania LINQ na obserwowalnych kolekcjach i w RX. W uproszczeniu Language INtegrated Query (LINQ) to część technologii .NET i umożliwia zadawanie pytań na obiektach, a składnia LINQ przypomina trochę SQL (patrz Wikipedia). Cechą charakterystyczną LINQ jest to, że operuje ona na dowolnych kolekcjach oferujących iterator (czyli operuje n...

Dziel się z innymi:
[RX 9] Operacje LINQ na obserwowalnych kolekcjach w Reactive Extension [PL] | Maciej Zbrzezny: Programowanie i Technologie

Programowanie rozproszone 4723 dni, 15 godzin, 50 minut temu paduda 87 źrodło rozwiń

W ramach kontynuacji cyklu o Reactive Extensions dla .NET ([RX 1], [RX 2], [RX 3], [RX 4], [RX 5], [RX 6], [RX 7]) chciałbym przejść teraz do zdarzeń, dla których Rx dostarcza szczególnego wsparcia. Programowanie reaktywne, to również wykorzystanie zdarzeń (z j. ang. event), do których podłączamy się, przekazując delegat do funkcji, która ma obsłużyć zdarzenie (z j. ang. event handler), następnie czekamy na nachodzące zdarzenia. Dla przykładu rozważmy obsługę zdarzeń związanych z ruchem myszy. Wyobraźmy ...

Tagi: Rx
Dziel się z innymi:
[RX 8] Zdarzenia w .NET niby pożyteczne, łatwe, ale... | Maciej Zbrzezny: Programowanie i Technologie

Programowanie rozproszone 4726 dni, 9 godzin, 6 minut temu Paweł Łukasik 213 źrodło rozwiń

Dziś krótko. W ramach kontynuacji artykułu o Reactive Extensions dla .NET ([RX 1], [RX 2], [RX 3], [RX 4], [RX 5], [RX 6]) chciałbym wrócić znów do obserwowalnych kolekcji i źródeł, na podstawie których one powstają. Przecież nie zawsze powstaną one ze "zwykłej" kolekcji i zwykle nie jest wiadome, jakie dane one zawierają. Reactive Extension (RX) wyróżnia dwa typy źródeł danych, na podstawie których może powstać obserwowalna kolekcja. Są to źródła zimne i ciepłe (z j. ang. cold i hot). Źródła "zimne" s...

Dziel się z innymi:
[RX 7] Zabawa w „ciepło – zimno”, czyli zimne i ciepłe źródła w Reactive Extension [PL] | Maciej Zbrzezny: Programowanie i Technologie

Programowanie rozproszone 4727 dni, 9 godzin, 15 minut temu paduda 104 źrodło rozwiń

autor: W poprzednich częściach ([RX 1], [RX 2], [RX 3], [RX 4], [RX 5]) artykułu o Reactive Extensions dla .NET pojawiło się już dość sporo teorii, ale raczej mało przykładów, w tym wpisie chciałbym się skupić właśnie na przykładach bazujących na zdobytej uprzednio wiedzy. Zacznijmy od zastanowienia się nad prostymi subskrypcjami. W przykładzie z wpisu pt.: "[RX 3] Reactive Extensions pierwszy kontakt z kodem", zasubskrybowaliśmy obiekt typu IObservable (funkcją Subscribe) i jako parametr przekazane zost...

[RX 6] Przykłady dot. obserwowalnych kolekcji w Reactive Extensions [PL] | Maciej Zbrzezny: Programowanie i Technologie

Programowanie rozproszone 4731 dni, 4 godziny, 26 minut temu paduda 98 źrodło rozwiń

Tak jak pisałem we wcześniejszych częściach ([RX 1], [RX 2], [RX 3], [RX 4]), Reactive Extensions dla .NET oferują mnóstwo pomocniczych rozszerzeń pozwalających na proste tworzenie obserwowalnych kolekcji. Przyjrzyjmy się tym najbardziej podstawowym. Najprymitywniejsze kolekcje obserwowalne Poniższa tabela przedstawia najprymitywniejsze (lub inaczej najprostsze) kolekcje obserwowalne. Dla każdego przykładu oprócz funkcji generującej obserwowalną kolekcję, podano również odpowiednik w postaci kolekcj...

Tagi: IObservable, Rx
Dziel się z innymi:
[RX 5] Tworzymy obserwowalne kolekcje w Reactive Extensions [PL] | Maciej Zbrzezny: Programowanie i Technologie

Inne 4732 dni, 12 godzin, 37 minut temu Paweł Łukasik 102 źrodło rozwiń

Poprzednia część artykułu poświęconego Reactive Extensions (RX) dla .NET została zakończona prostym przykładem, w którym prostą obserwację kolekcji przeprowadzono nie tylko w ramach wątku bieżącego, ale również na odrębnym wątku. W tym celu wykorzystano jednego z wielu planistów (scheduler'ów) dostępnych w ramach RX. Przyjrzyjmy się im trochę bliżej. Otóż w Reactive Extension dla .NET można w bardzo prosty sposób sterować, na jakim wątku „pracuje” obserwowana kolekcja lub przy pomocy jakiego wątku chcem...

Tagi: Rx
Dziel się z innymi:
[RX 4] Reactive.Concurrency i planiści (schedulers)[PL] | Maciej Zbrzezny: Programowanie i Technologie

Narzędzia 4748 dni, 13 godzin, 43 minuty temu Paweł Łukasik 115 źrodło rozwiń

Wielu programistów .NET wiedzą o istnieniu Reactive Extensions, działających w oparciu o Linq. Tutaj są opisane podobne możliwości w JavaScript.

Tagi: Rx
Dziel się z innymi:
Reactive Extensions dla JavaScript

Narzędzia 4753 dni, 13 godzin, 41 minut temu dit2006 103 źrodło rozwiń

W ramach serii postów dotyczących Reactive Extensions przyjrzeliśmy się już problemom związanych z asynchronicznością oraz przyjrzeliśmy się bliżej kolekcjom i wzorcu obserwatora (IObserver, IObservable). W tym wpisie zobaczymy pierwszy przykład kodu wykorzystującego RX. Jak wspominałem wcześniej, w .NET 4.0 jest wbudowane pewne wsparcie dla IObserver i IObservable. Jednak są to tylko definicje wspomnianych interfejsów, aby wykorzystać pełne możliwości RX, trzeba je zainstalować i dołączyć do projektu, w...

Tagi: Rx
Dziel się z innymi:
[RX 3] Reactive Extensions pierwszy kontakt z kodem (czyli artykułu cz. 3) [PL] | Maciej Zbrzezny: Programowanie i Technologie

Programowanie rozproszone 4766 dni, 10 godzin, 15 minut temu Paweł Łukasik 71 źrodło rozwiń

Aby móc korzystać z rozszerzeń RX należy najpierw je pobrać i zainstalować. Przed przeczytaniem tego posta, koniecznie należy zapoznać się z interfejsami IObservable oraz IObserver – prezentowałem je w ostatnim wpisie. Po instalacji dodajemy referencję do System.Reactive:   RX dodaje metodę ToObservable konwertującą kolekcję do IObservable, interfejsu który wspiera wzorzec obserwator. Napiszmy przykładowy obserwator:class SampleObserver : IObserver

Tagi: Rx
Dziel się z innymi:
Piotr Zieliński » Reactive Extensions I – instalacja oraz kolekcje danych

Programowanie rozproszone 4766 dni, 18 godzin, 9 minut temu pzielinski 116 źrodło rozwiń

W ramach kontynuacji tematyki związanej z Reactive Extensions (RX)przyjrzyjmy się elementom, które stoją u podstaw ich działania, czyli kolekcjom i wzorcowi Obserwator. W poprzedniej części artykułu poznaliśmy cel przyświecającym twórcom Reactive Extensions (RX) jak i skąd można pobrać wspomniane rozszerzenia. Skoro już mamy zainstalowane Reactive Extensions (Rx), zacznijmy przyglądać się jego możliwością.Jak wcześniej zostało wspomniane, Rx upraszcza programowanie asynchroniczne, pozwala na łatwe filtr...

Tagi: Rx
Dziel się z innymi:
[RX 2] Kolekcje, to podstawa, czyli wprowadzenia do Reactive Extensions część 2 [PL] | Maciej Zbrzezny: Programowanie i Technologie

Programowanie rozproszone 4767 dni, 12 godzin, 40 minut temu Paweł Łukasik 125 źrodło rozwiń

Jako że nie dawno przedstawiłem na spotkaniu Łódzkiej grupy profesjonalistów IT & .NET prezentację poświęconą „Wprowadzenie do Reactive Extensions (RX) dla .NET” (patrz informacja: Zapraszam na prezentację: "Wstęp do Reactive Extensions dla .NET (RX)" oraz Prezentacja i kod ze spotkania pt.: "Wprowadzenie do Reactive Extensions (RX) dla .NET" [PL]). Postanowiłem czytelnikom bloga „Programowanie i Technologie” również przybliżyć temat Reactive Extensions, więc jeżeli zdarzyło Ci się tworzyć aplikacje...

Tagi: Rx
Dziel się z innymi:
[RX 1] Wprowadzenie do Reactive Extensions (RX) dla .NET - cz.1 [PL] | Maciej Zbrzezny: Programowanie i Technologie

Programowanie rozproszone 4767 dni, 12 godzin, 40 minut temu Paweł Łukasik 157 źrodło rozwiń

W przyszłych postach chcę zająć się Reactive Extensions, jednak zanim zacznę cykl postów o tym, najpierw przedstawię dwa interfejsy wprowadzone w .NET 4.0. Interfejsy umożliwiają implementację wzorca obserwator. IObserver powinien zostać zaimplementowany dla klasy, która chcę być powiadamiana o zmianach dokonywanych na klasie implementującej IObservable. Przyjrzyjmy się najpierw metodom IObserver:OnCompleted – obserwacja wszelkich zmian zakończona.OnError – wystąpił błąd.OnNext – Nowa zmiana np. dodano e...

Dziel się z innymi:
Piotr Zieliński » Interfejsy IObservable oraz IObserver

Inne 4763 dni, 18 godzin, 46 minut temu pzielinski 209 źrodło rozwiń

1 2 3

Najaktywniejsi w tym miesiącu