Ini benar-benar tergantung pada apa yang Anda coba capai, dan berapa banyak infrastruktur yang Anda inginkan sudah ada, ditambah kemudahan yang Anda dapat menemukan sampel yang membantu Anda. Saya akan menyatakan minat di sini, karena saya telah aktif terlibat dalam setidaknya satu kerangka kerja MVVM, dan saya sudah mendapat masukan dari orang lain melalui kelompok WPF Disciples, jadi saya sedikit bias. Mengatakan itu, begini:
Microsoft MVVM Toolkit - ini masih sangat banyak di tahap alpha. Ketika awalnya dirilis, butuh sedikit biadab dari para Murid karena apa yang tidak dilakukannya. Mengatakan itu, MS ingin meningkatkan kerangka kerja ini jadi satu untuk ditonton - hanya belum siap.
MVVM Foundation - versi kerangka kerja Josh Smith. Josh adalah salah satu ayah MVVM, dan telah menjadi pembela dan pengajar pola yang besar. Akibatnya, banyak hal yang akan Anda temukan di kerangka kerja lain memiliki sidik jari Josh. Kerangka kerja ini dimaksudkan untuk memberikan dasar-dasar MVVM, dan bukan untuk mengatasi beberapa masalah yang lebih esoteris. Awalnya ini dimaksudkan hanya untuk WPF, tetapi orang-orang seperti Laurent Bugnion dan saya sendiri telah menambahkan fungsionalitas / proyek yang berarti ini akan menjadi kerangka kerja yang kompatibel dengan Silverlight juga.
WAF - tidak ada pengalaman, jadi saya tidak bisa berkomentar tentang itu, saya khawatir.
MVVM Light - Laurent Bugnion mengambilnya, dan baru saja diperbarui ke versi 2. Ini adalah kerangka kerja yang sangat baik, tetapi sekali lagi ini tidak dimaksudkan untuk mencakup setiap aspek aplikasi MVVM. Mengingat latar belakang Laurent, ia memiliki dukungan Silverlight dan Blendability yang sangat kuat di dalamnya.
Pembaruan Laurent baru saja memberi tahu saya bahwa versi .NET 3.5 dan .NET 4.0 kompatibel dengan fitur. Kami akan pergi Laurent.
Cinch - kerangka kerja MVV khusus WPF Sacha Barber yang luar biasa. Ini mencakup lebih banyak landasan daripada kerangka kerja yang telah saya bicarakan di atas. Ini merupakan kerangka kerja yang sangat baik, dan mengambil keuntungan dari konsep-konsep yang tercakup dalam proyek Onyx yang luar biasa dari Bill Kempf . Onyx dimaksudkan untuk melengkapi kerangka kerja MVVM, dan menambahkan fungsionalitas yang biasanya sulit dilakukan orang di MVVM / WPF. Sekali lagi, awalnya hanya dimaksudkan untuk WPF, Onyx telah berkembang untuk menyertakan kompatibilitas SL - pekerjaan yang saya sangat bangga telah terlibat di dalamnya.
Prism - Sekali lagi, saya tidak pernah menggunakannya, tetapi saya telah mendengar banyak hal baik tentang itu.
Ocean - Karl Shifflett, Manajer Program di tim Cider, baru-baru ini merilis kerangka kerja WPF MVVM berfitur lengkap. Sekali lagi, ini adalah kerangka kerja yang sangat baik dan memiliki banyak untuk merekomendasikannya.
Intinya adalah, unduh kerangka kerja yang berbeda, lihatlah dan kerjakan mana yang paling sesuai dengan cara Anda berpikir dan persyaratan Anda. Jika Anda berpikir bahwa Anda mungkin ingin mendukung Silverlight dari basis kode yang sama maka kerangka kerja WPF saja harus didiskon.