Modell-nézet-nézetmodell

A modell-nézet-nézetmodell szerkezete

A modell-nézet-nézetmodell minta (MVVM) egy architekturális minta.

A minta leválasztja a grafikus felhasználói felületet és az üzleti logikát (adatmodell). A nézetmodell értékkonverter,[1] ez a felelős az adatok átalakításáért a könnyű kezelhetőséghez és reprezentálásához. A nézetmodell inkább modell, mint nézet, de az hozza létre a megjelenítés logikáját is.[1] Megvalósíthatja a közvetítő programtervezési mintát is, megszervezve a hozzáférést a nézet használati esetei számára.

A modell-nézet-nézetmodell Martin Fowler prezentációs modell mintájának változata;[2][3] ugyanúgy vonatkoztatja el a nézet állapotát és viselkedését, de a prezentációs modell nézete nem függ a felhasználó platformjától.[3] A modell-nézet-nézetmodell és a prezentációs modell származtatható a modell-nézet-vezérlő mintából.

Mindkét mintát Ken Cooper és Ted Peters, a Microsoft architektjei fejlesztették ki, hogy egyszerűsítsék a felhasználó interfészek eseményvezérelt programozását. John Gossman, a Microsoft WPF és Silverlight tervezője blogján jelentette be a modell-nézet-nézetmodell mintát, ami kiterjeszti a két termék képességeit.[3]

A modell-nézet-nézetmodellre úgy is hivatkoznak, mint modell-nézet-összekötő, különösen a .NET platformján kívül. A Javában írt ZK webalkalmazás keretrendszer és a JavaScript KnockoutJS ezen a néven használja.[3][4][5]

Részei

A modell a tartománymodellre utal, ami a tartalom állapotát reprezentálja (objektumorientált módban), vagy adathozzáférési réteg (adatközpontú megközelítés).

A nézet egy szerkezet, elrendezés vagy megjelenítés, amit a felhasználó a képernyőn láthat. Ez a GUI[6]

A nézetmodell a nézet absztrakciója, ami publikus tulajdonságokat és metódusokat tartalmaz. Az MVC modell vezérlője vagy az MVP megjelenítője helyett az MVVM összekötőt tartalmaz, ami a nézetmodellben közvetít a nézet és az adatok között. A nézetmodellt az adatok állapotaként írják le a modellben.[7]

Az összekötőt a minta implicit tartalmazza. A Microsoft solution stackjében az összekötő egy leírónyelv, a XAML.[8] Ez segíti a programozót abban, hogy ne kelljen szószátyár kódot (boiler-plate) írnia a nézetmodell és a nézet között. Általában az ennek megvalósítására szolgáló technológia kulcsfontosságú a minta megvalósításában.[4][9]

Előnyei

Az MVVM-et úgy tervezték, hogy a WPF adatkapcsolati függvényeket használja, hogy jobban elkülönítse a nézet fejlesztését a minta többi részétől. Virtuálisan eltávolítja a GUI kódját a nézet rétegből.[10] A direkt kódolás helyett leírónyelvet használhatnak, és adatkapcsolatokat hozzanak létre a nézetmodellel, amit alkalmazásfejlesztők készítenek és tartanak karban. A szerepek elkülönítése miatt a nézet készítőinek nem kell foglalkozniuk az üzleti logikával. A rétegeket külön személyek vagy csapatok fejleszthetik, így jobban be lehet tartani a határidőket. Még egy fejlesztő is felgyorsul, ha ezt a mintát használja, mert a legtöbb változtatási igény a nézetet érinti, nem a logikát, így ahhoz ritkábban kell hozzányúlni.

A minta egyesíteni próbálja az MVC és az adatösszekötés előnyeit, miközben a keretrendszert az adatok összekapcsolásával olyan tisztán tartja, emennyire csak lehet.[10][11][12] Használja az összekötőt, a nézetmodellt és az üzleti réteg adatellenőrzését a bejövő adatok ellenőrzéséhez. Ennek eredményeként a modell és a keretrendszer végzi el a legtöbb műveletet, kiküszöbölve vagy minimalizálva az alkalmazáslogikát, amivel közvetlenül kezeli a nézetet.

Hátrányai

John Gossman, a minta megalkotója szerint az egyszerű műveletek a minta használata esetén lelassulnak,[13] különösen nagyobb alkalmazások esetén. Az adatösszekötés nagyon nagy méretű alkalmazásokban a memóriafogyasztást is érezhetően megnöveli.

Jegyzetek

  1. a b Google groups: Thought: MVVM eliminates 99% of the need for ValueConverters
  2. Martin Fowler: The Presentation Model Design Pattern. Martin Fowler.com, 2004. július 19.
  3. a b c d Smith, Josh (2009. február 1.). „WPF Apps with the Model-View-ViewModel Design Pattern”. MSDN Magazine. 
  4. a b Massey, Simon: Presentation Patterns in ZK. (Hozzáférés: 2012. március 24.)
  5. Steve Sanderson: KnockoutJS
  6. The MVVM Pattern. msdn.microsoft.com . (Hozzáférés: 2016. augusztus 29.)
  7. Pete Weissbrod: Model-View-ViewModel Pattern for WPF: Yet another approach.. [2008. február 1-i dátummal az eredetiből archiválva].
  8. Wildermuth, Shawn: Windows Presentation Foundation Data Binding: Part 1. Microsoft. (Hozzáférés: 2012. március 24.)
  9. ZK MVVM. Potix. (Hozzáférés: 2012. március 24.)
  10. a b Josh Smith: WPF Apps With The Model-View-ViewModel Design Pattern
  11. John Gossman. „Tales from the Smart Client: Introduction to Model/View/ViewModel pattern for building WPF apps”. 
  12. Karl Shifflett: Learning WPF M-V-VM.. [2009. április 13-i dátummal az eredetiből archiválva]. (Hozzáférés: 2017. augusztus 25.)
  13. John Gossman. „Tales from the Smart Client: Advantages and disadvantages of M-V-VM”. 

Fordítás

Ez a szócikk részben vagy egészben a Model–view–viewmodel című angol Wikipédia-szócikk fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

Read other articles:

Direktorat JenderalBina Pembangunan Daerah Kementerian Dalam Negeri Republik IndonesiaGambaran umumDasar hukumPeraturan Presiden Nomor 11 Tahun 2015; Peraturan Menteri Dalam Negeri Nomor 43 Tahun 2015Susunan organisasiDirektur JenderalDr. Teguh Setyabudi, M.Pd.Sekretaris Direktorat JenderalSri Purwaningsih, SH, M.AP. DirekturPEIPDDrs. Nyoto Suwignyo, MM.[1]SUPD IIr. Edison Siagian, ME.SUPD IIIwan Kurniawan, ST, MM.[1]SUPD IIIR. Budiono Subambang, ST, MPM.SUPD IVIr. Zanariah, M...

 

Goran KaranBackground informationBirth nameGoran KaranBorn (1964-04-02) 2 April 1964 (age 60)[1]Belgrade, SR Serbia, Yugoslavia[1]GenresPop, DiscoOccupation(s)SingerInstrument(s)vocals, piano, hammond organ, acoustic guitarYears active1988–presentLabelsHayat Production, MenartWebsitewww.gorankaran.hrMusical artist Goran Karan (born 2 April 1964) is a Croatian singer-songwriter. He specializes in songs influenced by Dalmatian folk music and is known for his powerful and ...

 

Cet article est une ébauche concernant une localité italienne et le Piémont. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Orbassano Armoiries Noms Nom français Orbasan Nom piémontais Orbassan Administration Pays Italie Région Piémont  Ville métropolitaine Turin  Code postal 10043 Code ISTAT 001171 Code cadastral G087 Préfixe tel. 011 Démographie Gentilé orbassanesi Population 22 345&...

United States historic placeLincoln, Abraham, StatueU.S. National Register of Historic Places Show map of KentuckyShow map of the United StatesLocationPublic Square, Hodgenville, KentuckyCoordinates37°34′25″N 85°44′26″W / 37.57361°N 85.74056°W / 37.57361; -85.74056Built1909ArchitectWeinmann, AdolphMPSLarue County MPSNRHP reference No.90001972 [1]Added to NRHPJanuary 10, 1991 The Abraham Lincoln Statue is a historic statue in the Hodgenvill...

 

1704 raid during Queen Anne's War Raid on DeerfieldPart of Queen Anne's War1900 illustration of the raidDateFebruary 29, 1704LocationDeerfield, Massachusetts BayResult French-Indian victoryBelligerents  France  New France Abenaki Mohawk Wyandot Pocomtuc Pennacook  England Massachusetts BayCommanders and leaders Rouville Jonathan WellsStrength 48 regulars and militia 240 Native Americans 90 militia[1][2]Casualties and losses 10–40 killed[3] 56 killed 11...

 

Cet article est une ébauche concernant la géographie et la Bretagne. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Aire d'attraction de Dinan Localisation de l'aire d'attraction de Dinan dans le département des Côtes-d'Armor. Géographie Pays France Région Bretagne Département Côtes-d'Armor Caractéristiques Type Aire d'attraction d'une ville Code Insee 187 Catégorie Aires de moins de 50 000 ...

UFC mixed martial arts event in 2017 UFC 208: Holm vs. de RandamieThe poster for UFC 208: Holm vs. de RandamieInformationPromotionUltimate Fighting ChampionshipDateFebruary 11, 2017VenueBarclays CenterCityBrooklyn, New YorkAttendance15,628[1]Total gate$2,275,105[1]Event chronology UFC Fight Night: Bermudez vs. The Korean Zombie UFC 208: Holm vs. de Randamie UFC Fight Night: Lewis vs. Browne UFC 208: Holm vs. de Randamie was a mixed martial arts event produced by the Ultimate F...

 

Prof. Dr. Ir.Ali M. A. RachmanM.A. Rektor Universitas Jambi ke-8Masa jabatan1999 – 2003PendahuluSoedarmadi HardjosuwignyoPenggantiKemas Arsyad Somad Informasi pribadiLahir8 Juli 1944 (umur 79)JambiKebangsaanIndonesiaSuami/istriSyarifah SolikhaAlma materUniversitas MalayaProfesiAkademisiSunting kotak info • L • B Prof. Dr. Ir. Ali M. A. Rachman, M.A. (lahir 8 Juli 1944) adalah seorang akademisi Indonesia. Ia merupakan Kepala Sub Bagian Konservasi Tumbuhan Institut...

 

Public law school in Detroit, Michigan, US Wayne State University Law SchoolEstablished1927; 97 years ago (1927)School typePublicDeanRichard Bierschbach[1]LocationDetroit, Michigan, U.S.USNWR ranking55th (tie) (2024)[2]Websitelaw.wayne.edu Wayne State University Law School (Wayne Law) is the law school of Wayne State University in Detroit. Wayne Law is located in Midtown, Detroit's Cultural Center. Founded in 1927, the law school offers juris doctor (J.D.), m...

German football club Football clubSC Victoria HamburgFull nameSport-Club Victoria Hamburg von 1895 e. V.Founded1895; 129 years ago (1895)GroundStadion HoheluftCapacity8,000ChairmanRonald LotzManagerMarius EbbersLeagueOberliga Hamburg (V)2022–2310th of 18 Home colours Away colours Third colours SC Victoria Hamburg is a German association football club from the city of Hamburg. The football team is part of a larger sports club that has departments for badminton, handball, ho...

 

Klaus Maria Brandauer nel 2012 Klaus Maria Brandauer, pseudonimo di Klaus Georg Steng (Bad Aussee, 22 giugno 1943), è un attore austriaco. Indice 1 Biografia 2 Vita privata 3 Filmografia parziale 3.1 Attore 3.1.1 Cinema 3.1.2 Televisione 3.2 Regista e attore 4 Doppiatori italiani 5 Riconoscimenti 6 Onorificenze 7 Note 8 Altri progetti 9 Collegamenti esterni Biografia Nato il 22 giugno 1944 a Bad Aussee (Austria) da padre tedesco, Georg Steng, doganiere, e madre austriaca, Maria Brandauer[...

 

此條目需要擴充。 (2018年3月30日)请協助改善这篇條目,更進一步的信息可能會在討論頁或扩充请求中找到。请在擴充條目後將此模板移除。 甘比爾群島Îles Gambier曼加雷瓦島群島位於法屬玻利尼西亞極東地理位置太平洋坐标23°8′24″S 134°56′24″W / 23.14000°S 134.94000°W / -23.14000; -134.94000群岛波利尼西亞总岛屿14主要島嶼曼加雷瓦島、阿卡馬魯島、奧凱納島、�...

Steroidal androgen that is structurally related and has similar effects to testosterone This article is about exogenously administered androgens. For androgens as natural hormones, see Androgen. Anabolic–androgenic steroidsDrug classChemical structure of the natural AAS testosterone (androst-4-en-17β-ol-3-one).Class identifiersSynonymsAnabolic steroids; AndrogensUseVariousATC codeA14ABiological targetAndrogen receptor (AR)Chemical classSteroids; Androstanes; EstranesClinical dataDrugs.comD...

 

La rilevanza enciclopedica di questa voce o sezione sugli argomenti artigiani e strumenti musicali è stata messa in dubbio. Motivo: Voce creata (come anche per en.wiki e de.wiki) da utenza monotematica relativa al soggetto in questione. L'aver brevettato nuovi strumenti, peraltro non particolarmente diffusi, non implica automatica enciclopedicità. Puoi aiutare aggiungendo informazioni verificabili e non evasive sulla rilevanza, citando fonti attendibili di terze parti e partecipando a...

 

Artikel ini bukan mengenai Miss Belgia. Miss Grand BelgiumLogo Miss GrandTanggal pendirian2021TipeKontes kecantikanKantor pusatBrusselLokasi BelgiaJumlah anggota Miss Grand InternationalBahasa resmi InggrisPresidenCarolyn CollindaSitus webMissGrandBelgium.com Miss Grand Belgium adalah kontes kecantikan di Jepang yang diselenggarakan sejak tahun 2021 oleh Carolyn Collinda, pemenang Miss Grand Belgium mewakili negaranya untuk maju mengikuti kontes Miss Grand International.[1] Miss ...

This template does not require a rating on Wikipedia's content assessment scale.It is of interest to multiple WikiProjects.Companies Companies portalThis template is within the scope of WikiProject Companies, a collaborative effort to improve the coverage of companies on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.CompaniesWikipedia:WikiProject CompaniesTemplate:WikiProject Companiescompany articles...

 

この項目には放送または配信開始前の番組に関する記述があります。 ウィキペディアはニュース速報でも宣伝サイトでもありません。方針に従い独自研究の予測などは載せず、信頼の可能である出典を明記した上で正確な記述を心がけてください。また、特に重要と思われることについてはウィキニュースへの投稿も検討してください。(2024年8月) 3年C組は不倫して�...

 

Hungarian politician and theologian Péter HarrachDeputy Speaker of the National AssemblyIn office27 May 2002 – 13 May 2010Minister of Social Affairs and FamilyIn office8 July 1998 – 27 May 2002Prime MinisterViktor OrbánPreceded byPéter Kiss(Minister of Labour)Succeeded byPéter Kiss(Minister of Employment and Labour) Personal detailsBorn (1947-11-02) 2 November 1947 (age 76)Budapest, HungaryPolitical partyKDNPSpouseCsilla HarrachChildrenGáborPéterTamásProfessi...

Dialects of the Turkish language Not to be confused with Turkic languages. Turkish dialects map: Main subgroups There is considerable dialectal variation in Turkish. Turkish is a southern Oghuz language belonging to the Turkic languages. Turkish is natively and historically spoken by the Turkish people in Turkey, Cyprus, Bulgaria, Greece (primarily in Western Thrace), Kosovo, Meskhetia, North Macedonia, Romania, Iraq, Syria and other areas of traditional settlement which formerly, in whole or...

 

Traditional healing practices Part of a series onMedical and psychologicalanthropology Basic concepts Health Culture-bound syndrome Double bind Case studies Navajo medicine Related articles Nutritional anthropology Psychological anthropology Cognitive anthropology Transpersonal anthropology Ethnomedicine Clinical ethnography Critical medical anthropology Cross-cultural psychiatry Person-centered ethnography Society for Medical Anthropology National character studies Syndemic Major theorists G...