Programiranje

Zgradite aplikacije MVVM z orodjem Windows Community Toolkit

Microsoft je že od nekdaj kot prodajalec jezikov vedno sodeloval z razvijalci. Njen program se je skozi leta razvijal od pristopa od zgoraj navzdol, usmerjenega v Redmond, ki je dosegel vrhunec z običajnimi DVD-ji MSDN v dokumentaciji, do današnjega programa, ki temelji na skupnosti, zavit v Microsoftove dokumente, Microsoft Learn, globalna skupina Azure Developer Advocates, in vedno več nabora orodij in okvirov, razvitih na GitHubu.

Komplet orodij za skupnost Windows: začetni komplet .NET

Sodelovanje s skupnostjo je prineslo zanimive rezultate z natančnejšo in pravočasno dokumentacijo, ki uporablja GitHub za upravljanje vsebin in vrsto odprtokodnih projektov, ki jih vodi skupnost. Eden pomembnejših projektov je Windows Community Toolkit, vrsta funkcij, kontrolnikov in storitev za .NET in UWP aplikacije. Gre za projekt, ki bo pomembnejši šele s prehodom s starejšega .NET Framework na .NET 5, ki temelji na .NET Core, in uvajanjem Project Reunion in okvira za večplatformni uporabniški vmesnik za aplikacije (MAUI).

Komplet orodij za skupnost Windows ni monolitna entiteta, ki jo je treba priložiti vašim aplikacijam. To je nabor paketov NuGet, tako da lahko izberete, kar potrebujete, pri čemer je treba kode in knjižnico zmanjšati na minimum. Če gradite sodobne Windows .NET aplikacije, si ga splača ogledati, saj vsebuje veliko pomembnih kontrolnikov XAML, ki vam lahko pomagajo do videti dobro in uporabniku prijazno aplikacijo. Druga uporabna orodja vključujejo nabor pomožnikov za izboljšanje zmogljivosti aplikacij, nabor razčlenjevalnikov za običajne oblike zapisa podatkov, vključno z Markdownom, in osnovno kodo, potrebno za podporo okvira za obveščanje sistema Windows 10.

Dodajanje MVVM v komplet orodij

Eden najnovejših dodatkov k orodju je nova knjižnica za gradnjo aplikacij, ki uporabljajo vzorec oblikovanja MVVM. Model-view-viewmodel je v središču prihajajočega ogrodja MAUI in .NET potrebuje dobro, hitro izvedbo, da bo uspešen. Rezultat je razmeroma lahek nabor orodij MVVM in nabor vzorčnih kod.

V novi izvedbi MVVM Windows Community Toolkit je marsikaj všeč. Morda je najbolj koristno to, da gre za izboljšanje učinkovitosti za vrstni red v primerjavi s primerljivim orodjem .NET MVVM, na kar je prejšnji teden v predstavitvi na UnoConfu poudaril njegov soavtor Michael Hawker, vodja projekta Windows Community Toolkit pri Microsoftu. To izboljšanje bo ključnega pomena za aplikacije MAUI, zlasti pri ciljanju na mobilne platforme, kot sta Android in iOS. Mogoče nima vseh lastnosti težkih alternativ, vendar je v večini primerov idealna izbira in z nekaterimi nadomestnimi orodji .NET MVVM se ne razvija več, je vredno ogleda.

Naj vaš uporabniški vmesnik temelji na dogodkih

Vzorec zasnove MVVM naj bi podpiral uporabniške vmesnike, ki jih vodijo dogodki. V središču je model, ki deluje kot vmesnik med vašo aplikacijo in katero koli zaledno poslovno logiko ali podatki. Vaš uporabniški vmesnik implementira pogled, podobno kot znani vzorec MVC (krmilnik pogleda modela). MVVM se razlikuje od drugih podobnih vzorcev načrtovanja po svojem modelu pogleda, ki povezuje povezave podatkov v pogledu s podatki v modelu in zagotavlja način predstavitve stanja enega drugega.

Koda vašega modula pogleda obravnava vhode in izhode obdelave v pogledu in iz njega z uporabo standardnih vezav podatkov XAML na kontrolnike. Namen tega je, da je koda v pogledu čim manjša, da se lahko oblikovalci osredotočijo na ustvarjanje uporabniške izkušnje, medtem ko razvijalci delajo na vmesni kodi in na obdelavi stanja pogleda, ki jo vodi dogodek. Z uveljavitvijo ločitve med pogledom in modelom lahko razvoj usmerite v logiko aplikacije, pri čemer uporabite prototipne kontrole pred preklopom v končni načrt, ne da bi to vplivalo na kodo, ki je bila napisana med razvojem aplikacije.

Začnite z Microsoft.MVVM.Toolkit

Koda novega nabora orodij MVVM je zelo nova, vendar je dovolj zrela, da podpira razvoj prototipov. Morda je največja težava v tem, da na spletnem mestu Microsoft Docs še ni dokumentacije za Microsoft.Toolkit.MVVM, čeprav bo malo iskanja našlo začetni obrok dokumentacije na GitHubu.

Tako kot ostali pripomočki Windows Community Toolkit se tudi MVVM Toolkit namesti iz repozitorija Nuget. Ker ga je navdihnil zdaj že zastareli MVVMLight, prehod s starejšega orodja na Windows Community Toolkit ne bi smel biti preveč težak.

Začnite s prenosom predogledne izdaje zbirke orodij MVVM iz podjetja Nuget in namestitvijo v vašo aplikacijo v Visual Studio. To bo prineslo morebitne odvisnosti in postavilo ogrodje, s katerim lahko začnete graditi aplikacijo MVVM.

Pod pokrovom: sistem za obveščanje v akciji

V osnovi je MVVM arhitektura, ki temelji na sporočanju in nadzoruje dogodke tako iz modela kot iz pogleda ter s pomočjo modula pogleda pošilja asinhrona obvestila med obema. Seznaniti se boste morali z osnovnimi osnovnimi razredi, ki nadzorujejo, kako se model pogleda odziva na spremenjene lastnosti osnovnega modela. Ko opazovani objekt v modelu spremeni stanje, model pogleda sproži ustrezno obvestilo in ga uporabi za pošiljanje sporočila o dogodku prek vezave na nadzor uporabniškega vmesnika v pogledu.

Ključ do delovanja zbirke orodij MVVM in razlog za njegove pomembne izboljšave v primerjavi z drugimi izvedbami .NET MVVM je njegov razred Messenger Tako povežete različne elemente aplikacije MVVM, implementirate in registrirate obdelovalce sporočil. Lahko si predstavljate poenostavljen sistem za objavo in naročanje, ki ponuja samo storitve modelu in pogledu. Prejemnike in pošiljatelje je treba registrirati in odjaviti, če jih ne potrebujejo več. Če na primer uporabljate MVVM Toolkit za napajanje aplikacije za klepet in se določen uporabnik odjavi, ga morate odjaviti iz aplikacije, da preprečite uhajanje pomnilnika.

Oblikovanje za MVVM

Imeti model za objavo in naročanje v središču pogleda modela je zelo smiselno. Omogoča vam, da zagotovite, da so vse vaše nadzorne vezi povezane s končnimi točkami sporočil, kar vam omogoča programsko izdelavo preslikav, potrebnih za povezavo pogleda in modela na način, ki bi moral biti razporejen med več pogledi in več modeli.

Ločevanje pogleda in modela na ta način poenostavi splošno strukturo vaše aplikacije, še posebej, če pomislite, da grete med deklarativnim programskim modelom v pogledu XAML in objektno usmerjenim pristopom v svojem modelu. Uporaba viewmodel, ki temelji na sporočanju, kot prevajalski sloj med tema dvema zelo različnima načinoma programiranja zmanjšuje tveganje in zmanjšuje količino zaostale kode v vaših pogledih. Preden napišete katero koli kodo, se prepričajte, da zasnova vaše aplikacije podrobno vključuje ta preslikave in vezi, skupaj s sporočili, ki jih prenašajo, saj so to vaši notranji API-ji za celotno integracijo med čelnim in zadnjim delom.

Delo skupnosti .NET na orodju Windows Community Toolkit je pomembno za prihodnost platforme. Z bistvenimi spremembami (prehod na .NET 5, ločitev SDK-ja in sistema Windows v programu Project Reunion ter model večplastnega uporabniškega vmesnika v MAUI-ju) postaja vse pomembnejši nabor referenčnih kontrol in funkcij. Izberete lahko elemente, ki jih želite spodbuditi na svojem .NET potovanju. Nabor orodij MVVM je lahko eden najnovejših delov kompleta, vendar bo verjetno postal eden najpomembnejših.

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