MVVMCROSS -i bestsellerite proov haldab vigu, kasutades kahte peamist tehnikat:
1. BaseViewModel klassid jagatud tõrkekäitlemiseks: bestsellerite valim kasutab klassi BaseViewModel` klassi, et kapseldatud jagatud koodi kapseldamiseks, sealhulgas tõrke käsitlemise mehhanismid. See lähenemisviis võimaldab ühise tõrke loogika tsentraliseeritud haldamist erinevatel vaatemudelitel. Näiteks on meetod `getesyncload` määratletud jaotises" BaseViewModel "ja seda kasutavad erinevad vaatemudelid andmete asünkroonseks laadimiseks. See meetod võib hõlmata tõrkekäitlemise loogikat, mida rakenduses jagatakse.
2. APP-taseme tõrke ruuter: proov kasutab ka rakenduse tasemel "Vea ruuterit", et hallata vigude levitamise mudelitest kasutajaliidesele. See hõlmab süstitud objekti, tavaliselt `iErrorreporter` kasutamist, mis initsialiseeritakse rakenduse ehituse ajal singletonina. Iga platvormipõhine kasutajaliidese projekt tellib selle singletoni sündmusi, kasutades `IERRORORSOURCE` liidest. See seadistus võimaldab platvormispetsiifilisi veamehhanisme, näiteks uialertviews iOS-is või Androidi röstsaiad, võimaldades igal platvormil vigu käsitseda viisil, mis on oma keskkonnas levinud.
Praktikas, kui asünkroonse toimingu ajal ilmneb viga, näiteks andmete laadimine veebiteenusest, püütakse viga ja teatatakse, kasutades `iterrorreporter". See võimaldab rakendusel kuvada kasutajasõbralikke tõrketeateid või võtta alternatiivseid toiminguid, näiteks toimingu uuesti proovimist või võrguühenduseta andmete laadimist.
Näiteks kui `kategooriaListViewModel` avaldab kategooriate laadimise ajal tõrke, võib see vea käsitlemiseks kasutada meetodit` baseviewmodel` meetodit `generasyncload". Seejärel teatatakse veast läbi `iErrorreporter`, mis käivitab platvormil põhineva kasutajaliidese teatise.
See lähenemisviis tagab, et vigade käitlemine on nii tsentraliseeritud kui ka paindlik, võimaldades hõlpsat kohanemist erinevate platvormide ja stsenaariumidega MVVMcrossi raamistikus.
Tsitaadid:]
]
]
]
]
]
[7] https://www.telerik.com/blogs/blazor-best-practices-änumine-rrors
]
[9] https://visualstudiomagazine.com/articles/2018/05/08/build-a-xamarin.forms-application.aspx