Negulējami atribūti MVVMCROSS vai jebkura MVVM ietvara kontekstā ir izdevīgi vairākos īpašos scenārijos. Šie atribūti palīdz noskaidrot jūsu koda nodomu, padarot to saprotamu un mazāk neviennozīmīgu. Šeit ir daži detalizēti scenāriji, kur īpaši izdevīgi ir neatbilstīgi atribūti:
1. NULL ATSAUCES izņēmumu novēršana **
MVVMCROSS, tāpat kā citos ietvaros, izmantošana neatbilstīgu atsauces veidu izmantošana palīdz novērst nulles atsauces izņēmumus. Tieši atzīmējot atsauces veidus kā nenobriestus, izstrādātāji ir spiesti pārbaudīt, vai nav nulles, pirms piekļuves īpašumiem vai metodēm, samazinot izpildlaika kļūdu risku. Tas ir īpaši svarīgi dažādu platformu izstrādē, kur dažādas platformas varētu izturēties pret nullēm.
2. Nodomu izteikšana un samazināšana **
Negulējami atribūti padara kodu izteiksmīgāku, skaidri norādot, vai īpašuma vai metodes parametrs var būt nulle. Šī skaidrība ir būtiska MVVM ietvaros, kur ir izplatītas datu saistīšana un īpašuma izmaiņas. Piemēram, ja īpašums tiek atzīmēts kā nenogurstošs, tas nekavējoties atklāj, ka tam ne vienmēr ir vērtība, vadot citus izstrādātājus par to, kā ar to rīkoties.
3. Datu saistīšanas uzlabošana **
MVVMCROSS datu saistīšana ir galvenā īpašība. Negulējami atribūti var palīdzēt nodrošināt, ka datu saistīšanas operācijas ir drošākas un paredzamākas. Ja īpašums ir nenogurts, ietvars un citi izstrādātāji zinās to attiecīgi rīkoties, izvairoties no negaidītām nulles vērtībām datu saistīšanas laikā.
4. API dokumentācijas un lietošanas uzlabošana **
Ja MVVMCROSS API izmantojat nenogurstošas atribūtus, to API lietotājiem kļūst skaidrāk, kā tie būtu jāizmanto. Piemēram, ja metodes parametrs tiek apzīmēts kā nenogurstošs, tas norāda, ka nulles nodošana ir derīgs scenārijs, kas var ietekmēt metodes uzvedību. Šī skaidrība palīdz novērst nepareizu izmantošanu un samazina nepieciešamību pēc plašas dokumentācijas par nulles apstrādi.
5. Aizsardzība pret uzbrukumu nepietiekamiem postījumiem **
Līdzīgi kā koncepcija tīmekļa lietojumprogrammās, neatbilstīgi atribūti var aizsargāt pret scenārijiem, kad dati varētu tikt izlaisti apzināti vai netīšām. MVVMCROSS, ja īpašums ir nullējams un nepieciešams, tas nodrošina, ka sistēma apstiprinās tā klātbūtni, novēršot negaidītas noklusējuma vērtību izmantošanu.
6. Migrācija uz nenobriedējamiem atsauces veidiem **
Tā kā C# attīstās ar tādām funkcijām kā nenobriedušas atsauces veidi, tādi ietvari kā MVVMCROSS pielāgojas, iekļaujot to API, iekļaujot nullamus atribūtus. Šī pāreja palīdz izstrādātājiem migrēt savus projektus, lai efektīvāk izmantotu neatbilstīgus atsauces veidus, nodrošinot labāku nulles drošību un samazinot izpildlaika kļūdas.
Rezumējot, MVVMCROSS neatrāvināmie atribūti ir labvēlīgi koda skaidrības uzlabošanai, nulles atsauces izņēmumu novēršanai, datu saistīšanas drošības uzlabošanai un API izmantošanas uzlabošanai. Viņiem ir arī izšķiroša loma, pielāgojoties modernajām C# funkcijām, piemēram, nenogurstošiem atsauces veidiem.
Atsauces:[1.]
[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-rease/
[6] https://stackoverflow.com/questions/52351636/mvvmcross-viewmodel-is-alway
[7] https://www.mvvmcross.com/documentation/fundamentals/data
[8] https://github.com/mvvmcross/mvvmcross