Nutalni atributi v okviru MVVMcross ali katerega koli MVVM okvira so koristni v več posebnih scenarijih. Ti atributi pomagajo razjasniti namero vaše kode, zaradi česar je bolj razumljiva in manj dvoumna. Tu je nekaj podrobnih scenarijev, kjer so nujni atributi še posebej koristni:
1. preprečevanje ničelnih referenčnih izjem **
V MVVMcrossu, tako kot pri drugih okvirih, uporaba ničnih referenčnih vrst pomaga preprečiti nulske referenčne izjeme. Z izrecno označevanjem referenčnih vrst kot nihalnih so razvijalci prisiljeni preveriti NULL, preden dostopajo do lastnosti ali metod, kar zmanjša tveganje za napake izvajanja. To je še posebej pomembno pri razvoju navzkrižnih platform, kjer lahko različne platforme različno ravnajo z NULL.
2. Izražanje namere in zmanjšanje dvoumnosti **
Atributi Nullable naredijo kodo bolj izrazno, tako da jasno navedejo, ali je lahko lastnost ali parameter metode ničen. Ta jasnost je ključnega pomena v okvirih MVVM, kjer sta vezava in spremembe lastnosti pogosta. Na primer, če je nepremičnina označena kot nična, takoj pove, da morda ne bo imela vedno vrednosti, in druge razvijalce vodi, kako ravnati.
3. Izboljšanje vezave podatkov **
V MVVMcross je vezava podatkov temeljna funkcija. Atributi, ki jih ni mogoče, lahko pomagajo zagotoviti, da so operacije vezave podatkov varnejše in bolj predvidljive. Če je lastnost nična, bodo okvir in drugi razvijalci vedeli, da jo bodo ravnali ustrezno, pri čemer se bodo med vezavo podatkov izognili nepričakovanim ničelnim vrednostim.
4. Izboljšanje dokumentacije in uporabe API **
Pri uporabi Nullable Atribute v API -jev MVVMcross postane uporabnikom teh API -jev jasnejši, kako naj se uporabljajo. Na primer, če je parameter metode označen kot ničen, kaže, da je prehod NULL veljaven scenarij, ki lahko vpliva na to, kako se metoda obnaša. Ta jasnost pomaga preprečevati zlorabo in zmanjšuje potrebo po obsežni dokumentaciji o ravnanju z ničelno ravnanje.
5. Zaščita pred napadi premajhne objave **
Podobno kot v konceptu v spletnih aplikacijah lahko tudi nihalni atributi ščitijo pred scenariji, kjer bi se lahko namerno ali nenamerno izpustili podatki. V MVVMcrossu je, če je lastnost nična in potrebna, zagotavlja, da bo okvir potrdil svojo prisotnost in preprečil uporabo nepričakovanih privzetih vrednosti.
6. Migracija na neprekinjene referenčne vrste **
Ko se C# razvija s funkcijami, kot so Nullable Reference Vrste, se okviri, kot je MVVMcross, prilagajajo tako, da v svoje API -je vključijo nične atribute. Ta prehod pomaga razvijalcem, da svoje projekte preselijo, da učinkoviteje uporabljajo nične referenčne vrste, kar zagotavlja boljšo nično varnost in zmanjšanje napak v času izvajanja.
Če povzamemo, so nični atributi v MVVMcross koristni za izboljšanje jasnosti kode, preprečevanje ničnih referenčnih izjem, izboljšanje varnosti zavezunja podatkov in vodenje uporabe API -ja. Prav tako igrajo ključno vlogo pri prilagajanju sodobnim C# funkcijam, kot so Nullable Reference Tips.
Navedbe:[1] https://stackoverflow.com/questions/43688968/what-does-it-mean-for-a-property-to-be-required-and-insullable
[2] https://learn.microsoft.com/en-us/dotnet/csharp/nullable-references
[3] https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/attributes/nullable-analysis
[4] https://xebia.com/blog/start-dealing-with-nullable-reference-types/
[5] https://www.mvvmcross.com/mvvmcross-8.0.0-release/
[6] https://stackoverflow.com/questions/52351636/mvvmcross-viewModel-is-always-null-in-xamarin-android-but-it-accessible-in-xa
[7] https://www.mvvmcross.com/documentation/fundamentals/data----
[8] https://github.com/mvvmcross/mvvmcross