MVVMCROSS -is ei ole vajalikud ja BindRequirted tingimused otseselt rakendatavad, kuna need on ASP.NET -i südamikus. Kuid nende rollide mõistmine ASP.NET -i tuumas võib aidata selgitada, kuidas sarnaseid mõisteid võib MVVMCrossis rakendada.
ASP.NET CORE kontekst
- nõutav atribute: see atribuut tagab, et omadus pole pärast mudeli sidumise toimumist null ega tühi. Seda kasutatakse peamiselt valideerimise eesmärgil, tagades kohustuslike väljade täitmise vormid või andmesisestuse stsenaariumid [1] [3] [6].
- BindRequireDatTribute: see atribuut tagab, et mudeli sidumise ajal on sissetulevates andmetes olemas omadus. Erinevalt nõutavast kontrollib ta omaduse olemasolu päringu andmetes, mitte ainult selle tühistatavuses [1] [3] [4].
mvvmcross kontekst
MVVMcrossis keskendutakse andmesisumisele vaate ja ViewModeli vahel. Raamistik ei kasuta vajalikke ega BindRequirted Atribuute otse. Selle asemel tugineb see sidumisrežiimidele nagu Oneway või Twoway, et hallata andmete sünkroonimist View ja ViewModeli vahel [2] [7].
- sidumisrežiimid MVVMcrossis:
- Oneway: andmed voolab vaatemodelist vaatesse.
- Twoway: andmed voolavad vaate ja vaatemodelli vahel mõlemal viisil. See on MVVMcrossi kohandatud köidete vaikerežiim [7].
MVVMcrossi nõutava või BindTingi sarnase funktsionaalsuse saavutamiseks rakendaksite tavaliselt oma ViewModelis valideerimisloogikat või kasutaksite kohandatud köiteid, et tagada teatud atribuutide õigeks ajakohastamine. Näiteks võite kasutada InotifyPropertyChanged, et teavitada vaatemodelli muutuste vaadet, tagades, et andmed on alati ajakohased [2] [8].
MVVMCROSS -is valideerimise rakendamine
Kuigi MVVMcross ei toeta otseselt nõutavat ega BindRequird, saate valideerimist rakendada, kontrollides ViewModeli atribuutides null- või tühje väärtusi. Seda saab teha käsitsi või kasutades valideerimisraamistikuid, mis integreeruvad MVVMCROSS -iga.
Kokkuvõte
Kokkuvõtlikult võib öelda, et kuigi nõutavad ja BindRequird on spetsiifilised ASP.NET -i südamikule andmete olemasolu ja valideerimise tagamiseks, tugineb MVVMCross oma sidumismehhanismidele ja kohandatud valideerimisloogikale andmete terviklikkuse haldamiseks. Kui peate tagama, et teatavad andmed on olemas või kehtivad MVVMcrossis, rakendaksite seda loogikat tavaliselt oma ViewModelis või kohandatud köidete kaudu.
Tsitaadid:[1] https://blog.dominikasikorska.pl/required-vs-bindrequired/
[2] https://blog.ostebaronen.dk/2018/01/mvvmcross-binding-target.html
]
]
[5] https://www.mvvmcross.com/documentation/plugins/Methodbinding
]
]
[8] https://www.mvvmcross.com/documentation/advanced/custom-data-binding