Czy oprócz dokumentacji Microsoft jest dobre wprowadzenie i samouczek na temat struktury Microsoft Reactive (Rx)?
A także, jaki jest dobry przykład (z kodem), że Reactive ułatwia problem programistyczny, który jest trudny do rozwiązania przy użyciu konwencjonalnych technik kodowania asynchronicznego?
c#
.net
asynchronous
system.reactive
LBushkin
źródło
źródło
Odpowiedzi:
AKTUALIZACJA : Poniższe posty na blogu zostały zastąpione przez moją książkę online www.IntroToRx.com . Jest to obszerna 19 rozdziałowa książka dostępna za darmo. Możesz przeglądać go w Internecie lub pobrać wersję mobi dla swojego kindle. Możesz go również uzyskać bezpośrednio od Amazon za niewielką opłatą (~ 99c / 77p). Jeśli książka nie spełnia twoich potrzeb ani oczekiwań, daj mi znać (autorowi), a my zrobimy lepiej dla v2.
Dzięki za link do postu Hot / Cold. To tylko jedna część pełnej serii ,
Będę nadal aktualizować tego bloga, wprowadzając więcej elementów wprowadzających do Rx.
Bardziej zaawansowane rzeczy znajdziesz na Forum Rx (MSDN).
źródło
Oto strona wiki z wieloma przykładami kodu pokazującymi, jak korzystać z różnych funkcji frameworka .NET Rx: http://rxwiki.wikidot.com/101samples
Okazało się, że jest to najbardziej wszechstronna witryna, z której najszybciej zacząć.
źródło
Witryna MSDN dla Rx-Framework
Dla programistów sięgających głębiej kod źródłowy
Fajna austriacka wypowiedź na temat Rx
To jest najlepsze, co widziałem: Keynote DevCamp 2010 - Rx: Leczenie asynchronicznego programowania bluesa
Kilka interesujących filmów na kanale 9
Kim Hamilton i Wes Dyer: Inside .NET Rx i IObservable / IObserver w BCL (VS 2010)
Wywiad z twórcą z Rx: Expert to Expert: Brian Beckman i Erik Meijer - Inside .NET Reactive Framework (Rx)
Wprowadzenie od twórcy Rx
Artykuł dotyczący projektu kodowego
Kolejny oczywiście pierwszy blog z linkami (nowy)
źródło
Oto przykład czegoś, co łatwo zrobić z programowaniem reaktywnym, ale bałagan (jeśli nie wyzwanie) z klasycznymi zdarzeniami, rysuje linie, gdy przycisk myszy jest wciśnięty. Jest czytelny, nie ma jawnej obsługi stanu:
(Muszę wyznać, że w tym przykładzie Pairwise () jest domową hodowlą ...)
Najważniejszą rzeczą w IObservable jest to, że można go „komponować”, podobnie jak IEnumerable.
Całkowicie polecam film wymieniony w innej odpowiedzi. W rzeczywistości na Channel9 jest kilka różnych filmów na ten temat:
źródło
TakeUntil
, która wygląda na dobre dopasowanie.var pairwise = source.Zip(source.Skip(1), (x, y) => new Tuple(x, y))
.Po przejściu kilku podstawowych rzeczy, w tym HandsOnLab, koniecznie zapoznaj się z Obserwatorami gorących i zimnych rzeczy Lee Campbella, które wyciągnęły dla mnie część tajemnej tajemnicy z Rx :)
źródło
Może ci się przydać ta seria artykułów (są cztery) na temat reaktywnego LINQ: Programowanie reaktywne (II.) - Przedstawiamy Reactive LINQ .
Ma przykład pisania gry przy użyciu tej gry, więc mam nadzieję, że powinna być tym, czego szukasz.
źródło
Znalazłem również Przedstawiamy Reactive Framework Część I na
CodeBetter.com
. Na tej samej stronie znajduje się kontynuacja pierwszej części.Mam nadzieję, że to Ci pomoże.
źródło
Co dziwne, strona główna Reactive Extensions prowadzi do kilkunastu filmów i blogów, ale zapomina o linkach do obszernej oficjalnej dokumentacji referencyjnej. Szkoda, jeśli znasz zespół, poproś go o naprawienie strony!
źródło
Graj z Rx Sandbox, aby uzyskać bardzo intuicyjny wgląd w to, co oznaczają różne kombinatory. To najlepsze narzędzie do nauki, jakie widziałem.
źródło
Przejrzyj te artykuły, w szczególności pobierz odpowiedni kod źródłowy i baw się nim.
Zaufaj, że to pomoże
źródło
Aby odpowiedzieć na drugie pytanie, oto problem, który może wiele skorzystać z Rx. To się nazywa „Szybko się wzbogacić”.
Opracowałeś grę o tej samej nazwie i sprzedaje się całkiem nieźle. Ale jest dostępny tylko w hurtowniach w twoich sklepach. Aby ułatwić przetwarzanie gotówki, masz przenośnik taśmowy, który płynie w twoją stronę.
(Prosimy zmienić powyższą historię :))
Sprzedawcy umieszczają na niej oprawione zwitki gotówki bez etykiet wskazujących kwotę i rodzaj rachunków na zwitku. Twoim zadaniem jest sortowanie i liczenie pieniędzy. Później, kiedy zdobędziesz więcej pieniędzy, możesz zatrudnić innych, którzy ci pomogą.
W tym przypadku źródłem jest asynchroniczne źródło zwitków gotówki (Producent). Twoi pracownicy i dostawcy oczekują pieniędzy, ale musisz spożywać wady, rozpakowywać je i używać niestandardowej logiki biznesowej, aby odpowiednio zapakować, aby je zapłacić.
Sprzedawcy biegają według własnego wątku, aby nie musieli czekać, aż policzysz, co rzucisz na pasek. Twój czas jest najlepiej wykorzystany, jeśli powiesz, kiedy jest więcej pieniędzy do policzenia, do tego czasu możesz wykonać inną pracę.
Możesz przedstawić każdą wadę bajtem [].
Jest to dość powszechna sytuacja w świecie rzeczywistym; gdy pobierasz dowolny zasób [na przykład strony internetowe dla wyszukiwarek, obrazy lub filmy] w sieci lub dane z urządzeń peryferyjnych, otrzymujesz je w kawałkach bajtów (być może z nagłówkami). W pojedynczym wątku lub w środowisku wielowątkowym, z którym zbyt trudno jest pracować, masz tendencję do ich agregowania i przetwarzania. Nigdy więcej!!
źródło
Jesse Liberty wydał książkę, opublikowaną w październiku 2011 r .:
Amazon.com: Programowanie reaktywnych rozszerzeń i LINQ
I są filmy RxWorkshop na Channel9:
Channel9: RxWorkshop
źródło
Czy Twoja klauzula „wykluczająca dokumentację Microsoft” obejmuje filmy na kanale 9?
Od twórcy reaktywnego frameworka Erika Meijera: - Eksperta do eksperta: Briana Beckmana i Erika Meijera - Wewnątrz .NET Reactive Framework (Rx)
Zupełnie nowy : Pierwsze kroki z rozszerzeniami Rx dla platformy .NET
źródło
Oprócz linków Andreasa Hoffmanna (uznałem je za bardzo pomocne, gdy uczyłem się Rx)
Oto niektóre z Bart De Smet (BARDZO mądry facet, który naprawdę dobrze wyjaśnia rzeczy) Filmy wideo:
Niby przegląd Rx:
Rx - Leczenie asynchronicznego programowania bluesa
Niektóre krwawe wnętrze + filozofia, te filmy są naprawdę pouczające:
Min LINQ - esencja LINQ
(powyższe wideo dotyczy tego, w jaki sposób LINQ odnosi się do innych rzeczy, takich jak Rx)
Obserwacje dotyczące IQbservable - dualność IQueryable
źródło
DEVHOL202 - Leczenie asynchronicznego bluesa za pomocą Reactive Extensions dla .NET (PDF, 2 MB) to najlepsze laboratorium / tutorial, jaki do tej pory widziałem. Prowadzi Cię przez podstawy biblioteki, dzięki czemu możesz budować i projektować na podstawie tego, czego się nauczyłeś.
Istnieje również wersja JavaScript. Wyszukaj w Google „Reaktywne rozszerzenia Hands on Lab”.
źródło
Podobało mi się Wprowadzenie do Rx Część 1 - Typy kluczy , i pokazało kluczowe funkcje.
źródło