Konvensi lebih dari konfigurasi di mvvmcross
MVVMCROSS, kerangka kerja MVVM lintas platform, menggunakan konsep "konvensi atas konfigurasi" untuk menyederhanakan proses pengembangan dengan mengurangi kebutuhan untuk konfigurasi eksplisit. Pendekatan ini memungkinkan pengembang untuk fokus pada aspek yang tidak konvensional dari aplikasi mereka, memanfaatkan konvensi default untuk menangani skenario khas.
Prinsip -prinsip Dasar
Di MVVMCross, konvensional konvensional terutama diterapkan pada bagaimana tampilan dan viewmodels terhubung. Secara default, MVVMCross menggunakan konvensi penamaan untuk mengaitkan tampilan dengan viewmodels yang sesuai. Misalnya, jika Anda memiliki `TipView`, MVVMCross akan secara otomatis mencari` TipViewModel` untuk dipasangkan dengannya. Konvensi ini menghilangkan kebutuhan untuk konfigurasi eksplisit, membuatnya lebih mudah untuk mengelola hubungan antara tampilan dan viewmodels [11].
Implementasi ###
1. Konvensi Penamaan ViewModel: MVVMCROSS mengikuti konvensi penamaan tertentu di mana viewmodel biasanya dinamai dengan menambahkan "model" dengan nama tampilan. Misalnya, `firstView` ditautkan ke` firstViewModel` secara default [5] [11].
2. Linking Otomatis: Saat menggunakan konvensi ini, MVVMCross secara otomatis menempatkan dan menautkan viewmodel yang sesuai ke tampilannya. Ini sangat berguna ketika Anda tidak menggunakan parameter generik untuk secara eksplisit mendefinisikan hubungan ini [11].
3. Fleksibilitas: Sementara MVVMCross bergantung pada konvensi untuk kesederhanaan, itu juga memberikan fleksibilitas. Pengembang dapat mengganti konvensi ini bila perlu dengan menggunakan parameter generik atau konfigurasi khusus. Ini memungkinkan untuk lebih banyak kontrol atas bagaimana tampilan dan viewmodels terkait, terutama dalam aplikasi kompleks [11].
Manfaat
- Mengurangi Konfigurasi: Dengan memanfaatkan konvensi, pengembang menghabiskan lebih sedikit waktu menulis kode konfigurasi, fokus pada logika aplikasi.
- Keterbacaan yang Ditingkatkan: Basis kode menjadi lebih mudah dibaca karena tugas konfigurasi berulang diminimalkan.
- Pemeliharaan Sederhana: Dengan lebih sedikit konfigurasi eksplisit, memelihara dan memperbarui aplikasi menjadi lebih mudah.
Kustomisasi
Sementara MVVMCross sangat bergantung pada konvensi, itu juga mendukung kustomisasi. Pengembang dapat mengganti perilaku default dengan mengimplementasikan logika khusus di kelas -kelas utama seperti `App` dan` pengaturan`. Misalnya, Anda dapat menyesuaikan wadah IOC atau mengubah cara viewmodels dibangun dan diinisialisasi [9].
Singkatnya, implementasi MVVMCross dari konvensi atas konfigurasi merampingkan proses pengembangan dengan mengotomatisasi tugas -tugas khas, yang memungkinkan pengembang untuk berkonsentrasi pada aspek unik dari aplikasi mereka. Pendekatan ini meningkatkan produktivitas dan menyederhanakan pemeliharaan aplikasi sambil tetap memberikan fleksibilitas yang dibutuhkan untuk skenario yang kompleks.
Kutipan:[1] https://en.wikipedia.org/wiki/convention_over_configuration
[2] https://visualstudiomagazine.com/articles/2018/05/08/build-a-xamarin.forms-application.aspx
[3] https://leaware.com/creating-cross-platform-xamarin-applications-using-the-mvvmcross-framework/
[4] https://learn.microsoft.com/en-us/archive/msdn-magazine/2009/february/patterns-in-practice-convention-over-configuration
[5] https://www.codeproject.com/articles/863695/introduction-to-mvvmcross-platform
[6] https://github.com/mvvmcross/mvvmcross-samples
[7] https://www.mvmcross.com/documentation/fundamentals/viewmodel-lifecycle
[8] https://books.sonatype.com/mvnref-book/reference/installation-sect-conventionConfiguration.html
[9] https://www.mvvmcross.com/documentation/advanced/customizing-using-app-and-setup
[10] https://www.mvvmcross.com/documentation/getting-started/getting-started
[11] https://www.mvmcross.com/documentation/tutorials/tipcalc/a-note-about-views-and-viewModels
[12] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview