Konvence nad konfigurací v mvvmcross
MVVMCross, rámce MVVM pro platformu, využívá koncept „konvence nad konfigurací“ ke zjednodušení procesu vývoje snížením potřeby explicitní konfigurace. Tento přístup umožňuje vývojářům soustředit se na nekonvenční aspekty jejich aplikace a využívat výchozí konvence pro zpracování typických scénářů.
Základní principy
V MVVMCrossu je konvence nad konfigurací primárně aplikována na to, jak jsou propojeny pohledy a prohlížeče. Ve výchozím nastavení MVVMCross používá pojmenovací úmluvu k přiřazení názorů s jejich odpovídajícími viewModely. Například, pokud máte `tipView`, MVVMCross automaticky hledá„ TipViewModel “, který se s ním spojí. Tato úmluva eliminuje potřebu explicitní konfigurace, což usnadňuje správu vztahu mezi pohledy a viewModely [11].
Implementace
1. Konvence pro pojmenování ViewModel: MVVMCross sleduje konkrétní pojmenovací úmluvu, kde je ViewModel obvykle pojmenován napojením „modelu“ k názvu pohledu. Například „FirstView“ je ve výchozím nastavení propojen s `FirstViewModel` [5] [11].
2. automatické propojení: Při použití této úmluvy MVVMCross automaticky vyhledá a propojuje příslušný ViewModel s jeho pohledem. To je zvláště užitečné, pokud k výslovnému definování těchto vztahů nepoužíváte obecné parametry [11].
3. Flexibilita: Zatímco MVVMCross se spoléhá na konvence pro jednoduchost, poskytuje také flexibilitu. Vývojáři mohou tyto konvence potlačit v případě potřeby pomocí obecných parametrů nebo vlastních konfigurací. To umožňuje větší kontrolu nad tím, jak jsou spojeny pohledy a pohledy, zejména ve složitých aplikacích [11].
Výhody
- Snížená konfigurace: Vývojáři využívají konvence využíváním konvence méně času na konfigurační kód pro psaní konfigurace a místo toho se zaměřují na logiku aplikace.
- Vylepšená čitelnost: Codebase se stává čitelnější, protože se opakující se konfigurační úkoly minimalizují.
- Zjednodušená údržba: S méně explicitními konfiguracemi je údržba a aktualizace aplikací snazší.
Přizpůsobení
Zatímco MVVMCross se silně spoléhá na konvence, podporuje také přizpůsobení. Vývojáři mohou přepsat výchozí chování implementací vlastní logiky do tříd klíčů, jako je „App` a` Setup “. Můžete například přizpůsobit kontejner IOC nebo změnit způsob, jakým jsou konstruovány a inicializovány prohlížeče [9].
Stručně řečeno, implementace konvence MVVMCrossu nad konfigurací zefektivňuje proces vývoje automatizací typických úkolů, což vývojářům umožňuje soustředit se na jedinečné aspekty jejich aplikací. Tento přístup zvyšuje produktivitu a zjednodušuje údržbu aplikací a zároveň poskytuje flexibilitu potřebnou pro složité scénáře.
Citace:[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-pactice-convention-over-configuration
[5] https://www.codeproject.com/articles/863695/introduction-to-mvvmcross-platform
[6] https://github.com/mvvmcross/mvvmcross-samples
[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/customizing-using-app-and-setup
[10] https://www.mvvmcross.com/documentation/getting-started/gettingstarted
[11] https://www.mvvmcross.com/documentation/tutorials/tipcalc/a-note-about-views-and-viewModels
[12] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview