MVVM - Kerangka

Pada bab ini, kita akan membahas toolkit atau kerangka kerja MVVM yang tersedia. Anda juga dapat menggunakan kerangka kerja ini sehingga Anda tidak perlu menulis banyak kode berulang untuk mengimplementasikan pola MVVM sendiri. Berikut adalah beberapa kerangka kerja paling populer -

  • Prism
  • MVVM Light
  • Caliburn Micro

Prisma

Prism memberikan panduan dalam bentuk contoh dan dokumentasi yang membantu Anda merancang dan membuat aplikasi desktop Windows Presentation Foundation (WPF) yang kaya, fleksibel, dan mudah dirawat dengan mudah. Rich Internet Applications (RIA) dibangun dengan plug-in browser Microsoft Silverlight dan aplikasi Windows.

  • Prism menggunakan pola desain yang mewujudkan prinsip desain arsitektur penting, seperti pemisahan perhatian dan sambungan yang longgar.

  • Prism membantu Anda merancang dan membangun aplikasi menggunakan komponen yang digabungkan secara longgar yang dapat berkembang secara independen tetapi dapat dengan mudah dan mulus diintegrasikan ke dalam keseluruhan aplikasi.

  • Jenis aplikasi ini dikenal sebagai aplikasi komposit.

Prism memiliki sejumlah fitur out-of-the-box. Berikut adalah beberapa fitur penting Prism.

Pola MVVM

Prisma memiliki dukungan untuk pola MVVM. Ini memiliki kelas Bindablebase yang mirip dengan yang diimplementasikan di bab-bab sebelumnya.

Ini memiliki ViewModelLocator fleksibel yang memiliki konvensi, tetapi memungkinkan Anda untuk menimpa konvensi tersebut dan secara deklaratif menghubungkan Views dan ViewModels Anda dengan cara yang digabungkan secara longgar.

Modularitas

Ini adalah kemampuan untuk memecah kode Anda menjadi perpustakaan kelas yang benar-benar digabungkan secara longgar di beberapa bagian dan menyatukannya saat runtime menjadi satu kesatuan yang kohesif untuk pengguna akhir, sementara kode tetap dipisahkan sepenuhnya.

Komposisi / Wilayah UI

Ini adalah kemampuan untuk menyambungkan tampilan ke dalam penampung tanpa View yang melakukan penyumbatan, perlu memiliki referensi eksplisit ke penampung UI itu sendiri.

Navigasi

Prism memiliki fitur navigasi yang melapisi di atas wilayah, seperti navigasi maju dan mundur dan tumpukan navigasi yang memungkinkan model tampilan Anda untuk berpartisipasi dalam proses navigasi secara langsung.

Perintah

Prism memiliki perintah sehingga mereka memiliki perintah delegasi yang sangat mirip dengan MyICommand yang telah kita gunakan di bab-bab sebelumnya, kecuali Prism memiliki kekuatan ekstra untuk melindungi Anda dari kebocoran memori.

Acara Pub / Sub

Prism juga memiliki dukungan untuk acara Pub / Sub. Ini adalah peristiwa yang digabungkan secara longgar di mana penerbit dan pelanggan dapat memiliki masa aktif yang berbeda dan tidak harus memiliki referensi eksplisit satu sama lain untuk berkomunikasi melalui peristiwa.

MVVM Light

MVVM Light diproduksi oleh Laurent Bugnion dan membantu Anda memisahkan Tampilan dari Model Anda, yang menciptakan aplikasi yang lebih bersih dan lebih mudah untuk dipelihara dan diperluas.

  • Ini juga membuat aplikasi yang dapat diuji dan memungkinkan Anda memiliki lapisan antarmuka pengguna yang jauh lebih tipis (yang lebih sulit untuk diuji secara otomatis).

  • Toolkit ini memberikan penekanan khusus pada untuk membuka dan mengedit antarmuka pengguna ke dalam Blend, termasuk pembuatan data waktu desain untuk memungkinkan pengguna Blend "melihat sesuatu" saat mereka bekerja dengan kontrol data.

Caliburn Micro

Ini adalah kerangka kerja sumber terbuka kecil lainnya yang membantu Anda menerapkan pola MVVM dan juga mendukung sejumlah hal di luar kotak.

  • Caliburn Micro adalah kerangka kerja kecil namun kuat, dirancang untuk membangun aplikasi di semua platform XAML.

  • Dengan dukungan kuat untuk MVVM dan pola UI lain yang telah terbukti, Caliburn Micro akan memungkinkan Anda membangun solusi dengan cepat, tanpa perlu mengorbankan kualitas kode atau kemampuan untuk diuji.