Az MVC4WPF nyílt forrású, bővíthető, automatizált kódminta, amit az Information Control Corporation fejlesztett a Windows Presentation Foundation (WPF) számára. A minta teljes elnevezése hosszú, ezért a rövidítés. Az MVC a modell-nézet-vezérlő mintára utal, a 4 az angol for elöljárószót jelzi, míg a WPF a Windows Presentation Foundationt jelenti.

Első verzióját 2009. július 23-án hozták nyilvánosságra. Az eszköz használatához szükséges a .NET framework 3.5 és a Visual Studio 2008. A 0.9 verzió letölthető a CodePlextől.

Célja főként vállalati alkalmazások fejlesztése, ahol a csapatokban az egyes részterületek specialistái működhetnek együtt. Kisebb projektek számára kevéssé hasznos.

Bővebb leírás szerkesztés

Az MVC4WPF két programtervezési mintán alapul, amelyeket rendszerautomatizáció és fejlesztési meggondolások támogatnak. A szerzők inkább az automatizált kódmintára, semmint egy keretrendszerre hivatkoznak,[1] mivel a keretrendszerek saját logikai környezetüket hozzák létre, amihez szükségszerűen alkalmazkodni kell. Ezzel szemben az MVC4WPF környezete rugalmasabb, ami korlátozások nélkül adaptálható a különböző megoldásokhoz. Annyiban hasonlít egy keretrendszerre, hogy könyvtárakat támogat, és használja a XAML nyelvet is, amit a WPF vezetett be. Mindezek egy programtervezési minta jellegzetességeivel ruházzák fel.

Megalkotói Stephen Giffin[2] Háromrészes sorozatot adtak a Channel 9 (discussion forum) csatornán,[3][4][5] amiben elmondták, hogy azért tervezték a MVC4WPF-et, hogy egyesítsék a modell-nézet-vezérlő hajlékonyságát és a PAC szerkezetet, ami hierarchikusan szervezi a szülő-gyerek interakciókat.

Szerkezete szerkesztés

A rétegek közötti kommunikációt szerződések határozzák meg, amelyek leírják a protokollt. A szerződések miatt rugalmassá válik a kommunikáció, az adatok létrehozása és kezelése a minta három része között: minden megengedett, ami a szerződések szerint szabad. Például a modell (adat) réteg lehet helyi adatbázis, Web feedek vagy bármi más. Javítja a tesztelhetőséget is, mivel elég a szerződéseknek eleget tenni. Elősegíti a fejlesztők specializálódását is, mert a különböző részeken különböző szakértők dolgozhatnak.[6][7]

A hierarchikus szerkezet a szülő-gyerek mintán alapul.[8] A vezérlők szülőként viselkednek a nézettel és modellel, de más vezérlők is származhatnak belőle. Így a mintát a vezérlő hajtja meg, és a vezérlő más vezérlőktől is szerezhet információt. Mivel emellett még a WPF is kiváló belső információterjesztéssel bír, a szülő-gyerek kommunikáció mindkét irányban hatékonyan működik, ehhez csak kevés támogató kódot kell írni.

Elemei szerkesztés

A minta elemei:

  • Modell: Felelős az adatok tárolásáért és kezeléséért. Megfeleltethető az adat rétegnek.
  • Nézet: A felhasználói felület és az azzal közvetlen kapcsolatban álló kód. Az MVC4WPF mintában a vezérlő gyereke. Három típusa lehet: lap, ablak vagy felhasználó által vezérelt.
  • Vezérlő: Ez hajtja meg a mintát, ez tartalmazza az üzleti metódusokat, és indítja a műveleteket. A nézet és a modell szülője.
  • Szerződések: Leírják, hogyan kommunikál a modell, nézet és vezérlő egymással. Erősen meghatározzák a fejlesztés menetélt is, ezért ezeket tervezik meg és készítik el először. Az itt leírt kapcsolatok miatt lehet egymástól függetlenül fejleszteni a részeket, hogy mégis kapcsolatba tudjanak lépni egymással.
  • Tulajdonságcsomagok: A szerződések elemei. Ezek írják le a szülő és a gyerek függvények által megosztott tulajdonságokat. Szükség esetén a vezérlő egyes tulajdonságcsoportjai is lehetnek.

Jegyzetek szerkesztés

  1. Archived copy. [2011. július 14-i dátummal az eredetiből archiválva]. (Hozzáférés: 2010. január 26.)
  2. Bob Familiar: An Overview of MVC4WPF - Part 3 of 3. ARCast.TV, Channel9 (2010. január 24.) (Hozzáférés: 2018. március 26.)
  3. http://channel9.msdn.com/shows/ARCast.TV/ARCastTV-An-Overview-of-MVC4WPF-Part-1-of-3/
  4. http://channel9.msdn.com/shows/ARCast.TV/ARCastTV-An-Overview-of-MVC4WPF-Part-2-of-3/
  5. http://channel9.msdn.com/shows/ARCast.TV/ARCastTV-An-Overview-of-MVC4WPF-Part-3-of-3/
  6. Archived copy. [2011. július 14-i dátummal az eredetiből archiválva]. (Hozzáférés: 2010. január 27.)
  7. Archived copy. [2011. július 14-i dátummal az eredetiből archiválva]. (Hozzáférés: 2010. január 27.)
  8. Archived copy. [2011. július 14-i dátummal az eredetiből archiválva]. (Hozzáférés: 2010. január 26.)

Fordítás szerkesztés

Ez a szócikk részben vagy egészben a MVC4WPF 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.