Programavimas

Kurkite MVVM programas naudodami „Windows Community Toolkit“

„Microsoft“ visada gerai dirbo su kūrėjais nuo pat pirmųjų dienų, kai buvo kalbų tiekėja. Jos programa per daugelį metų vystėsi nuo aukščiausio lygio, Redmondo vadovaujamo požiūrio, pasiekusio aukščiausius standartinius MSDN DVD dokumentus, iki šiandieninės bendruomenės programos, apipintos „Microsoft Docs“, „Microsoft Learn“, pasauline „Azure Developer Advocates“ komanda, „GitHub“ sukurtas vis didesnis įrankių ir sistemų rinkinys.

„Windows Community Toolkit“: .NET starterio rinkinys

Bendradarbiaudami su bendruomene pasiekėme įdomių rezultatų, pateikdami tikslesnę ir savalaikę dokumentaciją, naudodami „GitHub“ turinio valdymui ir daugelį bendruomenės vadovaujamų atvirojo kodo projektų. Vienas iš svarbesnių projektų yra „Windows Community Toolkit“, daugybė funkcijų, valdiklių ir paslaugų, skirtų .NET ir UWP programoms. Tai projektas, kuris taps vis svarbesnis tik pereinant nuo senesnės .NET Framework prie .NET Core pagrindu sukurtos .NET 5 ir išleidus „Project Reunion“ ir daugiaplatformę „Multiplatform App UI“ (MAUI) sistemą.

„Windows Community Toolkit“ nėra monolitinis objektas, kurį reikia pateikti kartu su jūsų programomis. Tai „NuGet“ paketų rinkinys, todėl galite pasirinkti ir išsirinkti tai, ko jums reikia, kuo mažiau išlaikant bet kokio kodo ir bibliotekos pridėtinių išlaidų. Jei kuriate modernias „Windows .NET“ programas, verta pasidomėti, nes joje yra daug svarbių XAML valdiklių, kurie gali padėti pateikti išvaizdžią ir patogią naudoti programą. Kiti naudingi įrankiai yra padėjėjų rinkinys, skirtas pagerinti programos našumą, įprastų duomenų formatų, įskaitant „Markdown“, analizatorių rinkinys ir pagrindinis kodas, reikalingas „Windows 10“ pranešimų sistemai palaikyti.

MVVM įtraukimas į įrankių rinkinį

Vienas iš naujausių įrankių rinkinio papildymų yra nauja biblioteka, skirta kurti programas naudojant MVVM dizaino modelį. „Model-view-viewmodel“ yra būsimos MAUI sistemos pagrindas, o norint sėkmingai veikti .NET, reikia gerai ir greitai ją įdiegti. Rezultatas yra palyginti lengvas MVVM įrankių rinkinys ir kodo pavyzdžio rinkinys.

Naujo MVVM „Windows Community Toolkit“ diegimo metu daug kas patinka. Bene naudingiausia yra tai, kad tai yra didesnio našumo lygio palyginimas su palyginamaisiais .NET MVVM įrankiais, kaip praeitą savaitę „UnoConf“ pristatyme nurodė jos bendraautorius Michaelas Hawkeris, vadovaujantis „Microsoft“ „Windows Community Toolkit“ projektui. Šis patobulinimas bus labai svarbus MAUI programoms, ypač taikant į mobilias platformas, tokias kaip „Android“ ir „iOS“. Gali būti, kad jis neturi visų sunkiasvorių alternatyvų funkcijų, tačiau daugeliu atvejų tai yra idealus pasirinkimas, o kai kurie alternatyvūs .NET MVVM įrankiai nebėra kuriami, verta dėmesio.

Sukurkite savo vartotojo sąsają pagal įvykius

MVVM dizaino modelis skirtas palaikyti įvykių valdomas vartotojo sąsajas. Jo esmė yra modelis, kuris veikia kaip sąsaja tarp jūsų programos ir bet kurios kitos verslo logikos ar duomenų. Jūsų vartotojo sąsaja įgyvendinama rodinyje, panašiai kaip pažįstamas MVC (modelio vaizdo valdiklio) modelis. MVVM skiriasi nuo kitų panašių dizaino modelių savo peržiūros modeliu, kuris susieja duomenų susiejimą rodinyje su modelio duomenimis, suteikdamas būdą pavaizduoti vieno būseną kitam.

Jūsų „viewmodel“ kodas tvarko įvestis ir išvestis į rodinį ir iš jo, naudodamas standartinius XAML duomenų susiejimus su valdikliais. Šiuo tikslu siekiama, kad kodas būtų kuo mažesnis, kad dizaineriai galėtų susitelkti ties vartotojo patirties kūrimu, o kūrėjai dirba su atsarginiu kodu ir „viewmodel“ įvykių valdomu rodinio būsenos apdorojimu. Vykdydami atskyrimą tarp rodinio ir modelio, galite sutelkti dėmesį į programos logiką, naudodami prototipo valdiklius prieš įjungdami galutinį dizainą, nepaveikdami kodo, kuris buvo parašytas kuriant programą.

Pradėkite nuo „Microsoft.MVVM.Toolkit“

Naujojo „MVVM“ įrankių rinkinio kodas yra labai naujas, tačiau jis yra pakankamai subrendęs palaikyti prototipo programų kūrimą. Galbūt didžiausia problema yra ta, kad „Microsoft Docs“ svetainėje dar nėra jokių „Microsoft.Toolkit.MVVM“ dokumentų, nors šiek tiek ieškant bus surasta pradinė dokumentų dalis „GitHub“.

Kaip ir visas kitas „Windows Community Toolkit“, „MVVM Toolkit“ diegiamas iš „Nuget“ saugyklos. Kadangi tai įkvėpė dabar nebenaudojamas „MVVMLight“, pereiti nuo senesnio įrankių rinkinio prie „Windows Community Toolkit“ neturėtų būti per sunku.

Pradėkite atsisiųsdami „MVVM Toolkit“ peržiūros leidimą iš „Nuget“ ir įdiekite jį į savo programą „Visual Studio“. Tai atneš bet kokias priklausomybes ir sukurs sistemą, kuria galėsite pradėti kurti MVVM programą.

Po gaubtu: veikia pranešimų sistema

Širdyje MVVM yra pranešimais paremta architektūra, stebinti įvykius tiek iš modelio, tiek iš rodinio, siunčiant asinchroninius pranešimus tarp jų naudojant peržiūros modelį. Turėsite susipažinti su pagrindinėmis pagrindinėmis klasėmis, kurios valdo, kaip peržiūros modelis reaguoja į pasikeitusias pagrindinio modelio ypatybes. Kai modelyje stebimas objektas keičia būseną, peržiūros modelis pateikia atitinkamą pranešimą ir naudoja jį įvykio pranešimui perduoti per sąsają su vartotojo sąsajos valdikliu rodinyje.

„MVVM Toolkit“ veikimo raktas ir reikšmingų jo patobulinimų, palyginti su kitomis .NET MVVM diegimo funkcijomis, priežastis yra „Messenger“ klasė. Taip susiejate skirtingus MVVM programos elementus, diegdami ir registruodami pranešimų tvarkytuvus. Galite tai laikyti supaprastinta paskelbimo ir prenumeratos sistema, siūlančia tik modelio ir rodinio paslaugas. Jei nebereikia, gavėjai ir siuntėjai turi būti registruoti ir išregistruoti. Pavyzdžiui, jei naudojate „MVVM Toolkit“ pokalbių programai valdyti, o konkretus vartotojas atsijungia, turite išregistruoti jį iš programos, kad išvengtumėte atminties nutekėjimo.

Projektavimas MVVM

Turėti skelbimo ir prenumeratos modelį modelio rodinio centre yra labai prasminga. Tai leidžia jums užtikrinti, kad visi jūsų valdymo susiejimai yra susieti su pranešimo pabaigos taškais, o tai suteikia jums galimybę programiškai sukurti susiejimus, reikalingus rodiniui ir modeliui susieti taip, kad turėtų būti keičiama tarp kelių rodinių ir kelių modelių.

Tokiu būdu atskyrus vaizdą ir modelį, supaprastinama bendra programos struktūra, ypač jei manote, kad einate tarp deklaratyvaus programavimo modelio XAML rodinyje ir objektyvaus modelio požiūrio. Naudojant susirašinėjimu pagrįstą peržiūros modelį kaip vertimo sluoksnį tarp šių dviejų labai skirtingų programavimo būdų, sumažinama rizika ir minimalus kodų kiekis, reikalingas jūsų rodiniams. Prieš rašydami bet kokį kodą, įsitikinkite, kad jūsų programos dizainas išsamiai apima tuos susiejimus ir susiejimus, taip pat su pranešimais, kuriuos jie neša, nes tai yra jūsų vidinės API, skirtos visoms integracijoms tarp priekinės ir galinės.

.NET bendruomenės darbas prie „Windows Community Toolkit“ yra svarbus platformos ateičiai. Vykstant reikšmingiems pokyčiams (perėjimas prie .NET 5, SDK ir „Windows“ atskyrimas „Project Reunion“ ir kelių platformų vartotojo sąsajos modelis MAUI) tampa vis svarbesnis, turėdamas nuorodų valdiklių ir funkcijų rinkinį. Galite pasirinkti ir pasirinkti elementus, kuriuos norite padidinti savo .NET kelionėje. „MVVM Toolkit“ gali būti viena naujausių rinkinio dalių, tačiau greičiausiai tai taps viena iš svarbiausių.

$config[zx-auto] not found$config[zx-overlay] not found