MVVM - Keuntungan
Pola MVVM pada akhirnya adalah struktur modern dari pola MVC, sehingga tujuan utamanya masih sama untuk memberikan pemisahan yang jelas antara logika domain dan lapisan presentasi. Berikut ini beberapa kelebihan dan kekurangan pola MVVM.
Manfaat utamanya adalah memungkinkan pemisahan yang sebenarnya antara Tampilan dan Model di luar pencapaian pemisahan dan efisiensi yang Anda peroleh dengan memilikinya. Artinya secara nyata adalah bahwa saat model Anda perlu diubah, model tersebut dapat diubah dengan mudah tanpa perlu tampilan dan sebaliknya.
Ada tiga hal penting yang keluar dari penerapan MVVM, yaitu sebagai berikut.
Pemeliharaan
Pemisahan yang bersih dari berbagai jenis kode akan memudahkan untuk masuk ke satu atau beberapa bagian yang lebih terperinci dan terfokus dan membuat perubahan tanpa khawatir.
Itu berarti Anda dapat tetap gesit dan terus beralih ke rilis baru dengan cepat.
Testabilitas
Dengan MVVM, setiap bagian kode lebih terperinci dan jika diterapkan dengan benar, ketergantungan eksternal dan internal Anda berada dalam potongan kode yang terpisah dari bagian-bagian dengan logika inti yang ingin Anda uji.
Itu membuatnya jauh lebih mudah untuk menulis pengujian unit terhadap logika inti.
Pastikan itu berfungsi dengan benar saat ditulis dan tetap berfungsi bahkan ketika ada hal-hal yang berubah dalam pemeliharaan.
Kemungkinan diperpanjang
Kadang-kadang tumpang tindih dengan pemeliharaan, karena batas pemisahan yang bersih dan potongan kode yang lebih terperinci.
Anda memiliki peluang lebih baik untuk membuat bagian mana pun lebih dapat digunakan kembali.
Ia juga memiliki kemampuan untuk mengganti atau menambahkan potongan kode baru yang melakukan hal serupa ke tempat yang tepat dalam arsitektur.
Tujuan yang jelas dari pola MVVM adalah abstraksi dari View yang mengurangi jumlah logika bisnis di belakang kode. Namun, berikut adalah beberapa keuntungan kuat lainnya -
- ViewModel lebih mudah untuk menguji unit daripada kode di belakang atau kode yang digerakkan oleh peristiwa.
- Anda dapat mengujinya tanpa otomatisasi dan interaksi UI yang canggung.
- Lapisan presentasi dan logikanya digabungkan secara longgar.
Kekurangan
- Beberapa orang berpikir bahwa untuk UI sederhana, MVVM bisa berlebihan.
- Demikian pula dalam kasus yang lebih besar, mungkin sulit untuk mendesain ViewModel.
- Debugging akan sedikit sulit ketika kita memiliki data binding yang kompleks.