Selain dokumentasi Microsoft, adakah pengantar dan tutorial yang bagus untuk kerangka kerja Microsoft Reactive (Rx)?
Juga, apa contoh yang baik (dengan kode) yang Reactive mempermudah masalah pemrograman yang sulit dipecahkan dengan menggunakan teknik pengkodean asinkron konvensional?
c#
.net
asynchronous
system.reactive
LBushkin
sumber
sumber
Jawaban:
UPDATE : Posting blog di bawah ini telah digantikan oleh buku online saya www.IntroToRx.com . Ini adalah buku 19 bab komprehensif yang tersedia secara gratis. Anda dapat menjelajahinya di web, atau mengunduh versi mobi untuk menyalakan Anda. Anda juga bisa mendapatkannya langsung dari Amazon dengan biaya kecil (~ 99c / 77p). Jika buku tidak memenuhi kebutuhan atau harapan Anda, beri tahu saya (Penulis) dan kami akan melakukan yang lebih baik untuk v2.
Terima kasih atas tautannya ke pos Panas / Dingin. Ini hanya satu bagian dari seri lengkap ,
Saya akan terus memperbarui blog ini dengan lebih banyak hal pengantar Rx.
Untuk hal-hal lebih lanjut, Anda ingin pergi ke Forum Rx (MSDN).
sumber
Berikut adalah situs wiki dengan banyak contoh kode yang menunjukkan cara menggunakan berbagai fitur kerangka .NET Rx: http://rxwiki.wikidot.com/101samples
Saya menemukan ini sebagai situs paling komprehensif di luar sana, dan yang paling cepat untuk memulai.
sumber
Situs MSDN untuk Rx-Framework
Untuk Pengembang yang lebih dalam, Kode Sumber
Keynote Austria keren tentang Rx
Ini adalah yang terbaik yang pernah saya lihat: DevCamp 2010 Keynote - Rx: Menyembuhkan blues pemrograman asinkron Anda
Beberapa Video menarik di Saluran 9
Kim Hamilton dan Wes Dyer: Di dalam. NET Rx dan IObservable / IObserver di BCL (VS 2010)
Wawancara dengan pencipta dari Rx: Pakar ke Pakar: Brian Beckman dan Erik Meijer - Di dalam .NET Reactive Framework (Rx)
Pengantar dari pencipta Rx
Artikel Proyek Codep
Kursus blog pertama lain dengan tautan (baru)
sumber
Berikut ini adalah contoh dari sesuatu yang mudah dilakukan dengan pemrograman reaktif, tetapi berantakan (jika tidak menantang) dengan acara klasik, itu menarik garis saat tombol mouse mati. Dapat dibaca, tidak ada penanganan eksplisit:
(Saya harus mengakui bahwa dalam contoh itu, Pairwise () adalah buatan sendiri ...)
Hal yang paling penting tentang IObservable adalah bahwa IObservable itu 'dapat dikompilasi', seperti halnya IEnumerable.
Saya merekomendasikan video yang disebutkan dalam jawaban lain. Bahkan ada beberapa video berbeda pada subjek di Channel9:
sumber
TakeUntil
, yang sepertinya cocok.var pairwise = source.Zip(source.Skip(1), (x, y) => new Tuple(x, y))
.Setelah Anda melewati beberapa hal mendasar termasuk HandsOnLab pastikan Anda memeriksa Lee Campbell's Hot and Cold Observables yang mengeluarkan beberapa misteri misterius dari Rx untuk saya :)
sumber
Anda dapat menemukan seri artikel ini (ada empat) tentang LINQ reaktif yang berguna: Pemrograman reaktif (II.) - Memperkenalkan LINQ Reaktif .
Dia memiliki contoh menulis permainan menggunakan itu, jadi semoga itu menjadi apa yang Anda cari.
sumber
Saya juga menemukan Memperkenalkan Kerangka Reaktif Bagian I di
CodeBetter.com
. Ada sekuel bagian pertama di situs yang sama.Saya harap ini akan membantu Anda.
sumber
Anehnya, beranda Ekstensi Reaktif menghubungkan ke selusin video dan blog tetapi lupa untuk menautkan ke dokumentasi referensi resmi yang komprehensif. Sayang sekali, jika Anda tahu timnya, silakan minta mereka memperbaiki situs web mereka!
sumber
Mainkan dengan Rx Sandbox untuk mendapatkan tampilan yang sangat intuitif tentang arti dari berbagai kombinator. Ini adalah alat belajar terbaik yang pernah saya lihat.
sumber
Bacalah artikel-artikel ini, dan khususnya, unduh kode sumber terkait dan bermain dengannya.
Percaya ini akan membantu
sumber
Untuk menjawab pertanyaan kedua, berikut adalah masalah yang bisa mendapatkan banyak manfaat dari Rx. Ini disebut "Cepat kaya".
Anda telah mengembangkan gim dengan nama yang sama dan laris manis. Tetapi hanya tersedia di toko Anda untuk grosir. Untuk mempermudah pemrosesan uang tunai, Anda memiliki ban berjalan yang mengalir ke arah Anda.
(Silahkan mengubah cerita di atas :))
Tenaga penjualan menempatkan gumpalan uang tunai terikat di atasnya tanpa label yang menunjukkan jumlah dan jenis tagihan dalam gumpalan. Pekerjaan Anda adalah menyortir dan menghitung uang. Kemudian, ketika Anda mendapatkan lebih banyak uang, Anda dapat mempekerjakan orang lain untuk membantu Anda.
Dalam hal ini, sumbernya adalah sumber uang tunai (Produser) yang tidak sinkron. Karyawan dan pemasok Anda mengharapkan uang, tetapi Anda harus mengkonsumsi gumpalan, membongkar mereka dan menggunakan logika bisnis khusus Anda untuk mengemas kembali sesuai untuk membayar mereka.
Orang-orang penjualan berjalan di utas mereka sendiri, sehingga mereka tidak perlu menunggu Anda untuk menghitung apa yang mereka lemparkan pada ikat pinggang. Waktu Anda paling baik digunakan jika Anda diberi tahu kapan lebih banyak uang tersedia untuk dihitung, sampai Anda dapat melakukan pekerjaan lain.
Anda bisa mewakili setiap gumpalan dengan byte [].
Ini adalah situasi dunia nyata yang cukup umum; ketika Anda mengambil sumber daya apa pun [misalnya, halaman web untuk mesin pencari, gambar atau video] pada jaringan atau data dari periferal, Anda mendapatkannya dalam potongan byte (mungkin dengan header). Dalam satu utas, atau dalam lingkungan multi-utas yang terlalu sulit untuk dikerjakan, Anda cenderung mengagregasi dan memprosesnya. Tidak lagi!!
sumber
Jesse Liberty memiliki buku yang diterbitkan, diterbitkan Oktober 2011:
Amazon.com: Memprogram Ekstensi Reaktif dan LINQ
Dan ada video RxWorkshop di Channel9:
Channel9: RxWorkshop
sumber
Apakah klausa "tidak termasuk dokumentasi Microsoft" Anda mencakup video di Channel 9?
Dari pencipta kerangka reaktif Erik Meijer: - Pakar ke Pakar: Brian Beckman dan Erik Meijer - Di dalam .NET Reactive Framework (Rx)
Baru : Memulai dengan Ekstensi Rx untuk .NET
sumber
Selain tautan Andreas Hoffmann (menemukan mereka sangat membantu ketika saya belajar Rx)
Berikut adalah beberapa Video Bart De Smet (pria yang SANGAT pintar yang menjelaskan semuanya dengan sangat baik):
Agak dijalankan melalui Rx:
Rx - Curing Blues Pemrograman Asynchronous Anda
Sebagian berdarah dalam + filosofi, video ini benar-benar mencerahkan:
Min LINQ - Inti dari LINQ
(Video di atas membahas bagaimana LINQ agak terkait dengan hal-hal lain, Seperti Rx)
Pengamatan pada IQbservable - Dual of IQueryable
sumber
DEVHOL202 - Menyembuhkan blues asinkron dengan Ekstensi Reaktif untuk .NET (PDF, 2 MB) adalah lab / tutorial terbaik yang pernah saya lihat sejauh ini. Ini memandu Anda melalui dasar-dasar perpustakaan, sehingga Anda dapat membangun dan mendesain apa yang telah Anda pelajari.
Ada juga versi JavaScript. Cari Google untuk "Ekstensi Reaktif Hands on Lab".
sumber
Saya suka Pengantar Rx Bagian 1 - Jenis kunci , dan itu menunjukkan fitur utama.
sumber