Programming Reactive Extensions and LINQ (Expert's Voice in .NET) (英語) ペーパーバック – 2011/10/31
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
Pro Reactive Extensions and LINQ is a deep dive into the next important technology for .NET developers: Reactive Extensions. This in-depth tutorial goes beyond what is available anywhere else to teach how to write WPF, Silverlight, and Windows Phone applications using the Reactive Extensions (Rx) to handle events and asynchronous method calls.
Reactive programming allows you to turn those aspects of your code that are currently imperative into something much more event-driven and flexible. For this reason, it’s sometimes referred to as LINQ for Events.
Reactive programming hinges on the concept of the observable collection, as opposed to the simple enumerable collection with which we’re all familiar. For example, to extract data from a collection and add it to a list box, you would traditionally iterate through the list box, extracting each object in turn. This approach works fine, but it requires significant knowledge about the data you’re working with, which can be limiting. In Rx programming, you're instead informed about each object in turn and then free to react to each notification however you like, which affords much greater flexibility.
This book shows you how reactive programming can be applied to a range of situations—from WPF applications to Windows Phone apps—to improve coding efficiency and boost performance.
Jesse Liberty is a Master Consultant for Falafel Software, aMicrosoft MVP, a Telerik MVP, an author, and he creates courses forPluralsight. Liberty hosts the popular Yet Another Podcast and his blog isconsidered required reading. He was a Senior Evangelist for Microsoft, a XAML Evangelistfor Telerik, a Distinguished Software Engineer at AT&T; Software Architectfor PBS and Vice President of Information Technology at Citibank. Jesse can befollowed on twitter at @JesseLiberty
Amazon.com で最も参考になったカスタマーレビュー (beta) （「Early Reviewer Program」のレビューが含まれている場合があります）
The issue is, its target audience does not exist. There are people who need an introduction to LINQ. There are people who want to dive into functional reactive programming through Rx. But these two groups are disjoint. In a very real sense, a person who should be exposed to the two concepts concurrently does not exist, especially as Rx isn't yet a first class citizen of the .NET world. Maybe in a decade something like this would make sense, but everyone who buys the book today will already be acquainted with LINQ.
A retitling might be appropriate: when I got this book, I was expecting something much more advanced, or at least decent API documentation (which doesn't really exist yet, so far as I can tell. Just having Marble diagrams all in one place would be a great first step). It's still useful to have on your bookshelf but don't expect it to be your go-to reference for Rx, or you'll end up disappointed.
I did some initial research on
Microsoft Data Developer Center
Reactive Framework (Rx) Wiki
To make it short: The book didn't provide any more insights or additional examples.
It is just a collection of documented code, that looked as if was just pasted from some blog.
Although it is small this book gets 5 out of 5 stars. I recommend this book to anyone who wants to learn Reactive Extensions. The book does a great job of introducing a potentially confusing topic.
I have already spent a lot of time digging through Rx. If I had not already delved heavily into Rx, this book would have been perfect for me. I actually wish I had been introduced through this book instead of having to hunt down fragments of information all over the web. As I started reading the book I liked it so much I revisited all the topics I already knew and was happy the book provided me with some new information I had not seen before.
The book starts out with an introduction to Rx and LINQ and also introduces Enumerable and Observable collections. The book continues with two chapters titled Core LINQ and Core RX where it digs deep into each topic's syntax, most useful operators, IEnumerable and IObservable. The next chapter Practical Rx provides some examples of real world use and digs deeper into some of the more advanced features.
The ReactiveUI chapter could be confusing. It is not very clear without all the downloadable code and although the chapter discusses the ReactiveUI Library, the book never really elaborates on the fact that it is available for download on github. ReactiveUI is pretty sweet and you should spend the time to get your head around it.
One of the things I like about he book is the authors make use of LINQPad. I find myself using LINQPad as much as I do Visual Studio. I use it for data analysis instead of SQL Server Management Studio. If you find you like LINQPad, get the subscription to enable IntelliSense. It is well worth it.
The bad news about the code is all the code from the book is currently not available. The good news about the code is some of it is on github and the authors plan on making it all available. The great news about the code is that they are enabling it for LINQPad.
I really found this book to be an enjoyable read. The authors did a great job of shortening the Rx learning curve. The way they explain things make the complex things easy to understand.
I highly recommend this book to anyone interested in learning how to use Rx. By the way, that should be every .NET developer out there.