Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Existujú nejaké konkrétne scenáre, v ktorých sú v API MVVMCross obzvlášť prospešné


Existujú nejaké konkrétne scenáre, v ktorých sú v API MVVMCross obzvlášť prospešné


Nullova atribúty v kontexte MVVMCross alebo akéhokoľvek rámca MVVM sú prospešné v niekoľkých konkrétnych scenároch. Tieto atribúty pomáhajú objasniť zámer vášho kódu, čím je zrozumiteľnejší a menej nejednoznačný. Tu je niekoľko podrobných scenárov, v ktorých sú obzvlášť prospešné nepochopiteľné atribúty:

1. Prevencia výnimiek na referenčné výnimky

V MVVMCross, rovnako ako v prípade iných rámcov, používanie nevyužiteľných referenčných typov pomáha predchádzať referenčným výnimkám NULL. Výslovnými typmi referenčných typov, ako sú vynuteľné, sú vývojári nútení skontrolovať NULL pred prístupom k vlastnostiam alebo metódam, čím sa znižujú riziko chýb runtime. Toto je obzvlášť dôležité pri vývoji medzi platformami, kde rôzne platformy môžu zvládnuť nuly odlišne.

2. Vyjadrenie zámeru a znižovanie nejednoznačnosti **

Nulovateľné atribúty zvyšujú výraznejší kód tým, že jasne naznačujú, či môže byť vlastnosť alebo parameter metódy null. Táto zrozumiteľnosť je rozhodujúca v rámci MVVM, kde sú spoločné väzba údajov a zmeny vlastností. Napríklad, ak je nehnuteľnosť označená ako neplatiteľná, okamžite sprostredkuje, že nemusí mať vždy hodnotu a usmerňuje ostatných vývojárov o tom, ako ju zvládnuť.

3. Zlepšenie väzby údajov **

V MVVMCross je viazanie údajov základnou vlastnosťou. Nullova atribúty môžu pomôcť zabezpečiť, aby operácie viazania údajov boli bezpečnejšie a predvídateľnejšie. Ak je vlastnosť vynechovateľný, rámec a ďalší vývojári budú vedieť, že ju primerane zvládnu, čím sa vyhnú neočakávaným nulovým hodnotám počas väzby údajov.

4. Vylepšenie dokumentácie a používanie API **

Pri používaní atribútov Nullouble v API MVVMCross je jasnejšie používateľom týchto rozhraní API, ako by sa mali používať. Napríklad, ak je parameter metódy označený ako vylučovateľný, naznačuje, že odovzdávanie null je platný scenár, ktorý môže ovplyvniť spôsob, akým sa táto metóda správa. Táto jasnosť pomáha predchádzať zneužitiu a znižuje potrebu rozsiahlej dokumentácie o nulovom manipulácii.

5. Ochrana pred útokmi na podkladanie **

Podobne ako v prípade koncepcie vo webových aplikáciách, aj atribúty NullAble môžu chrániť pred scenármi, kde by sa údaje mohli vynechať úmyselne alebo neúmyselne. V MVVMCROSS, ak je vlastnosť vylučovateľná a požadovaná, zaisťuje, že rámec overí jeho prítomnosť a zabráni použitiu neočakávaných predvolených hodnôt.

6. Migrácia na vynulovateľné referenčné typy **

Keď sa C# vyvíja s funkciami, ako sú napríklad vynulovateľné referenčné typy, rámce ako MVVMCross sa prispôsobujú začlenením atribútov NULLABLE do svojich rozhraní API. Tento prechod pomáha vývojárom migrovať svoje projekty, aby efektívnejšie využívali vynulovateľné referenčné typy, zabezpečujú lepšiu bezpečnosť nulovej bezpečnosti a znižujú chyby runtime.

Stručne povedané, atribúty vynulovateľných v MVVMCross sú prospešné pre zvýšenie zrozumiteľnosti kódu, zabránenie nulovým referenčným výnimkám, zlepšenie bezpečnosti viazania údajov a vedenie využívania API. Hrajú tiež kľúčovú úlohu pri prispôsobovaní sa moderným funkciám C#, ako sú Nuleble Reference Typy.

Citácie:
[1] https://stackoverflow.com/questions/43688968/what-does-it-mean-for-a-property-to------dequired-and-nulable
[2] https://learn.microsoft.com/en-us/dotnet/csharp/Nulable-references
[3] https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/attributes/nultable-analysis
[4] https://xebia.com/blog/start-dealing-with-nultable-reference-types/
[5] https://www.mvvmcross.com/mvvmcross-8.0.0-rease/
Https://stackoverflow.com/questions/52351636/mvvmcross-viewModel-is-is-always-null-in-xamarin-android-but-it-is-is-accessible in-xa
[7] https://www.mvvmcross.com/documentation/funmamentals/data-binding
[8] https://github.com/mvvmcross/mvvmcross