I finally found a way to reproduce a minor issue in BubbleBurst, the application reviewed in my Advanced MVVM book. I fixed the issue, which had to do with bursting a bubble group during an animated undo transition, and updated the source code and download files on CodePlex. If you’re interested in seeing the fix, it’s associated with changeset 43211.
By the way, I would like to thank all of you who have bought Advanced MVVM. I am shocked at how many copies have sold so far. This far exceeds my expectations!
you were a consistent and reliable source for proper WPF implementation. I wish your book would go beyond BubleBurst and be a printed one. I would definitely define it to be the WPF Bible.
I bought your book recently and i have to say “thank you”. I’ve learned some new things.
But … this should be a book about MVVM, but I miss the first “M” of that word – the models. You didn’t use any of them in bubbleburst (because it’s not necessary). But I’m a little disappointed because i bought this book to get some tips from you how to connect the ViewModels with the Models.
Maybe you can write something about that in your next book (if there is coming one).
However – nice work josh!
Thanks for the feedback. You’re right about the app not needing Model objects. Here’s an explanation I gave to Philipp Sumi, a WPF Disciple, about why there is no Model in the book or app:
“The BubbleBurst application was designed and implemented according to its functional requirements, not for the requirements of the book. I did not find a need for a separate Model layer in the application, so I didn’t add one. I felt that keeping the application design pure was more important than artificially creating a Model for the sake of the book. Plus, I had already covered working with Model objects in my MVVM article, and there are many examples of that on the Web.”
Just finished the book Josh and learned alot. The mvvm article in msdn you wrote was my wpf bible til now. I can make use some of your lessons in the app at work we’re making. Especialy the bit about handling dialogs from the vm. That solves the problem nicely for us. Good on you for helping us mere mortals with the new patterns & such.
Next time you write another book let me know and I’ll buy it right off.
Thanks Tom. I appreciate the kind feedback. Have a great day!
I purchased the printed copy of the book as well, and I’ve learned some valuable techniques. But as for the total absence of any model, I have to say it was a bit of a disappointment. There are some advanced concepts with the model portion of MVVM that aren’t covered very well on the web.
For instance, what are some elegant techniques for transforming a Model entity or DTO into a View Model, especially when there are child collections on an entity?
Thanks again for publishing this resource. Perhaps if this book does well, you should think about a follow-up with a sample business application 🙂
Thanks Sam. I have had several people tell me that they, too, would find it useful to have a book about advanced MVVM written about a business app. If/when I decide to write another book, I’ll definitely keep that feedback in mind.
Josh, I’m about to get my hands on a copy of your advanced MVVM book and I can’t wait.
However, I’m struggling with 1 particular aspect of MVVM and I was wondering if you had any experience in it.
All of the materials I’ve found so far (including your book) seem to focus on green-field development projects and I’m trying to get my head around a migration strategy for an existing project.
Essentially I’m thinking of gradually refactoring my existing application to follow the MVVM pattern.
Step 1; Introduce ViewModel classes into the current code base and, for now, wire them up to the existing windows (WinForms or MFC).
Step 2; Once all the ViewModels are complete, rip out the existing UI and replace it with WPF windows.
If you have any experience in this, opinions on whether it’s feasible or resources you could point me in the direction of I’d really appreciate it.
Thanks, I’ll get stuck into this book now!
[…] BubbleBurst v1.1 release (Josh Smith) […]
Thanks for buying my book. 🙂
I have never migrated a legacy app to WPF and MVVM, so I can’t say from experience how to best approach that problem. What you described sounds reasonable. I would test that hypothesis by doing a full upgrade to using WPF on one or two screens, before writing out the entire ViewModel layer. Just as a test, try creating the VM and UI for one dialog (or something small) and make sure that you flesh out all the things necessary to do for all of the other screens in the app. That way you can be sure that you are doing the “right thing” while writing all the VMs, and won’t have to go back later to make lots of adjustments.