Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Comment fonctionne la convention sur la configuration dans MVVMCROSS


Comment fonctionne la convention sur la configuration dans MVVMCROSS


Convention sur la configuration dans mvvmcross

MVVMCross, un framework MVVM multiplateforme, utilise le concept de «convention sur la configuration» pour simplifier le processus de développement en réduisant le besoin d'une configuration explicite. Cette approche permet aux développeurs de se concentrer sur les aspects non conventionnels de leur application, en tirant parti des conventions par défaut pour gérer les scénarios typiques.

Principes de base

Dans MVVMCROSS, la convention sur la configuration est principalement appliquée dans la façon dont les vues et les modes de vue sont liés. Par défaut, MVVMCROSS utilise une convention de dénomination pour associer les vues à leurs anciens de vue correspondants. Par exemple, si vous avez un `TipView ', MVVMCross recherchera automatiquement un` TipViewModel' pour s'associer avec lui. Cette convention élimine la nécessité d'une configuration explicite, ce qui facilite la gestion de la relation entre les vues et les anodins de vue [11].

Mise en œuvre

1. Convention de dénomination de ViewModel: MVVMCROSS suit une convention de dénomination spécifique où un ViewModel est généralement nommé par "modèle" en ajoutant au nom de la vue. Par exemple, `FirstView` est lié à« FirstViewModel »par défaut [5] [11].

2. Ceci est particulièrement utile lorsque vous n'utilisez pas de paramètres génériques pour définir explicitement ces relations [11].

3. Flexibilité: Bien que MVVMCross repose sur les conventions pour la simplicité, il offre également une flexibilité. Les développeurs peuvent remplacer ces conventions lorsque cela est nécessaire en utilisant des paramètres génériques ou des configurations personnalisées. Cela permet un contrôle davantage sur la façon dont les vues et les modélines de vue sont associés, en particulier dans les applications complexes [11].

Avantages

- Configuration réduite: en tirant parti des conventions, les développeurs passent moins de temps à écrire du code de configuration, en se concentrant plutôt sur la logique d'application.
- Amélioration de la lisibilité: la base de code devient plus lisible à mesure que les tâches de configuration répétitives sont minimisées.
- Maintenance simplifiée: avec moins de configurations explicites, la maintenance et la mise à jour des applications deviennent plus faciles.

Personnalisation ###

Bien que MVVMCross s'appuie fortement sur les conventions, il prend également en charge la personnalisation. Les développeurs peuvent remplacer les comportements par défaut en implémentant la logique personnalisée dans des classes clés comme `app" et `Configuration '. Par exemple, vous pouvez personnaliser le conteneur IOC ou modifier la façon dont ViewModels est construit et initialisé [9].

En résumé, la mise en œuvre par MVVMCross de la convention sur la configuration rationalise le processus de développement en automatisant les tâches typiques, permettant aux développeurs de se concentrer sur des aspects uniques de leurs applications. Cette approche améliore la productivité et simplifie la maintenance des applications tout en offrant la flexibilité nécessaire aux scénarios complexes.

Citations:
[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/februy/patterns-in-practice-convention-over-configuration
[5] https://www.codeproject.com/articles/863695/introduction-to-mvvmcross-platform
[6] https://github.com/mvvmcross/mvvmcross
[7] https://www.mvvmcross.com/documentation/fundamentals/viewmodel-lifecycle
[8] https://books.sonatype.com/mvnref-book/reference/installation-sect-conventionconfiguration.html
[9] https://www.mvvmcross.com/documentation/advanced/customalize-using-app-and-setup
[10] https://www.mvvmcross.com/documentation/getting-started/getting-started
[11] https://www.mvvmcross.com/documentation/tutorials/tipcalc/a-note-about-iews-and-viewmodels
[12] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview