MVC, MVP, MVVM: melyiket válasszam?

MVC, MVP, MVVM: melyiket válasszam?

A modern alkalmazásoknak olyan sokféle funkcióra van szükségük, hogy a fejlesztési folyamat mérete és összetettsége nőtt. A segítségnyújtás érdekében építészeti tervezési mintát használhat. Támogatják a könnyen tesztelhető és karbantartható alkalmazások létrehozását.





A három legnépszerűbb tervezési minta az MVC, az MVP és az MVVM. Az MVC a modellt, a nézetet és a vezérlőt, míg az MVP a modellt, a nézetet és az előadót, az MVVM pedig a modellt, nézetet és nézet modellt jelenti.





Építészeti és tervezési minták

építészeti minta

Az építészeti minta tisztázza és meghatározza a szoftverarchitektúra néhány kulcsfontosságú összetevőjét. Bár egy építészeti minta egy rendszer képét közvetíti, ez nem építészet . Valójában ez egy általános és újrafelhasználható megoldás a szoftverarchitektúrában egy bizonyos környezetben gyakran előforduló problémára.





Tervezési minta

A tervezési minta egy formalizált bevált gyakorlat, amelyet az alkalmazás vagy rendszer tervezése során általános problémák megoldására használhat.

Az építészeti és a tervezési minta közötti különbség

Kezdjük a közös kifejezéssel – mintával. A szoftverben a minta egy visszatérő tulajdonság, amely lehetővé teszi, hogy egy hatalmas és összetett szerkezetet kisebb, egyszerűbb komponensekre bontson. Ezt a mintát használhatja általános megoldás létrehozására a problémák egy osztályára.



A szoftverfejlesztés minden szintjén különböző eszközöket fog használni. Kisebb szinteken ezek az eszközök tervezési minták. Az építészeti minták nagyobb szinteken léteznek, és programozási paradigmák végrehajtási szinten.

Miért van szükségünk építészeti tervezési mintákra?

A szoftverfejlesztés során építészeti tervezési mintákat használhat a gyakori problémák megoldására. A jó építészet a következőkben is segíthet:





  • Ossza fel az összetett feladatokat egyszerűbb feladatokra.
  • Csökkentse a hibákat.
  • Tesztelhető és karbantartható kód készítése.

Építészeti minta nélkül azonban nehézségekbe ütközhet az alkalmazás üzleti logikájának fenntartása.

Modell, View, ViewModel, Controller és Presenter

Mielőtt megnézné az egyes mintákat, a következő kifejezések alkotják őket:





  • Modell adatokat tárol és közvetlenül kommunikál az adatbázissal. A modell az a rész, amely az Ön adatait és alkalmazáslogikáját reprezentálja. Meghatározza az adatkezelést, -módosítást vagy -feldolgozást kezelő üzleti szabályokat.
  • Kilátás megjeleníti a modell adatait, és felelős az adatok felhasználói felületen történő megjelenítéséért.
  • ViewModel kizárólag az MVVM mintára vonatkozik. Ez a nézeti réteg absztrakciója, és a modelladatok burkolójaként is működik.
  • Vezérlő az a komponens, amely integrálja a nézetet és a modellt.
  • Bemutató egy olyan komponens, amely csak az MVP modellben létezik. A Presenter megkapja a bemenetet a nézet komponenstől, és a modell segítségével feldolgozza az adatokat.

MVC, MVP és MVVM minták

Modell-nézet-vezérlő minta

Az MVC építészeti minta volt az első, és ma is népszerű a webes alkalmazások területén. Az 1970-es években vezették be. Ez a minta lehetővé teszi, hogy alkalmazást építsen a Separation of Concerns (SoC) köré. Megkönnyíti az alkalmazás teszteléséhez, karbantartásához és fejlesztéséhez szükséges erőfeszítéseket.

Az MVC mintában a modell nem ismeri a nézetet vagy a vezérlőt. A modell megfigyelője figyelmeztetést kap, ha változás történik a nézetben és a vezérlőben. A vezérlő segíti az útválasztási folyamatot, hogy a modellt a megfelelő nézethez kapcsolja.

Az MVC minta néhány előnye:

  • Az aggodalmak szétválasztása (koncentráltabb).
  • Megkönnyíti a kód tesztelését és kezelését.
  • Elősegíti az alkalmazás rétegeinek szétválasztását.
  • Jobb kódszervezés és újrafelhasználhatóság.

Így működik az MVC:

Hasonlítsa össze az iphone 12 pro és pro max készülékeket
  Egy diagram képe, amely bemutatja az MVC működését

Az SoC-nek köszönhetően az MVC csökkentheti a kód méretét, és jó kódot készíthet, amely tiszta és kezelhető.

Modell-nézet-előadó minta

Az MVP mintának két összetevője van az MVC-vel: a modell és a nézet. A vezérlőt lecseréli az előadóra. Az előadót – ahogy a neve is sugallja – arra használják, hogy bemutasson valamit. Lehetővé teszi, hogy könnyebben kigúnyolja a nézetet.

Az MVP-ben az előadó rendelkezik a 'középember' funkciójával, mert minden prezentációs logika rá van nyomva. Az MVP nézete és műsorvezetője szintén függetlenek egymástól, és interfészen keresztül lépnek kapcsolatba egymással.

Íme egy illusztráció az MVP minta működéséről:

  Egy diagram képe, amely bemutatja az MVP működését

Az előadó bemenetet kap a felhasználótól a nézeten keresztül. Ezután a modell segítségével feldolgozza a felhasználó műveleteit, és az eredményeket visszaadja a nézetnek. Az előadó interfészeken keresztül kommunikál a nézettel.

Modell-View-ViewModelminta

Az MVVM az MVC modern evolúciója. Az MVVM fő célja, hogy egyértelmű elválasztást biztosítson a tartományi logika és a megjelenítési réteg között. Az MVVM támogatja a kétirányú adat-összerendelést a nézet és a nézetmodell között.

Az MVVM minta lehetővé teszi a kód nézetének és modelljének elkülönítését. Ez azt jelenti, hogy amikor a modell megváltozik, a nézetnek nincs szüksége, és fordítva. Nézetmodell használatával egységtesztet végezhet, és tesztelheti logikai viselkedését a nézet bevonása nélkül.

Íme egy illusztráció az MVVM működéséről:

  Egy diagram képe, amely bemutatja az MVVM működését

Mikor kell használni az MVC-t, az MVP-t és az MVVM-et?

Most, hogy megismerte az egyes mintákat, derítse ki, mikor használja őket.

Hogyan lehet hozzáadni az xbox one vezérlőt a számítógéphez

Mikor kell használni az MVC-t?

Az MVC egyszerűen a Separation of Concerns megvalósítása. Ha az alkalmazásnak szét kell választania az adatokat (modell), az adatrögzítést (vezérlőt) és az adatmegjelenítést (nézet), az MVC jól működik. Az MVC olyan alkalmazásban is jól működik, ahol az adatforrás és/vagy az adatmegjelenítés bármikor változhat.

Mikor érdemes MVP-t használni?

Az MVP akkor használható, ha az alkalmazás kétirányú áramlással rendelkezik. Ha a felhasználói interakcióknak kérniük kell valamit a modelltől, és a kérés eredménye azonnal megváltoztatja a felhasználói felületet, fontolja meg az MVP-t.

Mikor kell használni az MVVM-et?

Akkor érdemes az MVVM-et használni, ha:

  • Egy projektet meg kell osztania egy tervezővel, és a tervezési és fejlesztési munka önállóan is megtörténhet.
  • Megoldásaihoz egységtesztre van szükség.
  • Újrafelhasználható összetevőkkel kell rendelkeznie, mind a projekteken belül, mind a projektek között.
  • Nagyobb rugalmasságot szeretne a nézeteinek megváltoztatásához anélkül, hogy a kódbázisban más logikát kellene átformálnia.

Melyik mintát érdemes választani?

A tervezési minta használatának fő oka a bonyolultság csökkentése. Ezt úgy teheti meg, hogy csökkenti az általános összetettséget, vagy ha az ismeretlen összetettséget az ismerősre cseréli. Ha egy tervezési minta nem csökkenti a bonyolultságot e két mód egyikén sem, ne használja egyiket sem; semmiféle értéket nem fog hozzáadni.

Ha valóban biztos abban, hogy tervezési mintát kell használnia, próbáljon meg egy ellenőrzőlistát készíteni. Alapozza meg az itt látott helyzetekre, és válassza ki a projektjéhez legjobban illőt.