[[oktatas:programozás|< Programozás]] ====== MVC ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2013, 2014, 2015 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: https://szit.hu ===== Történet ===== Az első leírást 1979-ben Trygve Reenskaug készítette amikor a Xerox PARC-nál dolgozott Smalltalkon. Az első MVC Smalltalk-80 nyelven lett implementálva 1980-ban. ===== Előny ===== {{:oktatas:programozás:felhasznaloifeluletek.png|}} ===== Az MVC ===== A **Model View Controller** szavakból alkotott betűszó. A szoftverfejlesztésben használatos [[wp>Architectural_pattern|szerkezeti minta]]. Azt jelenti, szétválasztjuk a megjelenésérét felelős kódrészeket, az adatokért és a vezérlésért felelős kódrészektől. Az ilyen módon több részre osztott alkalmazásokat, kliens-szerver megvalósításban hívjuk **többrétegű alkalmazásnak**. {{:oktatas:programozás:java:mvc_felepitese.png|}} * Model - üzleti logika, tárolás * View - megjelenés, Swing komponensek * Controller - vezérlés, eseménykezelés ===== Skálázhatóság ===== Az MVC skálázható ha az egyes részeket újabb részekre bontjuk. ===== MVC alkalmazása weben ===== A web erősen támaszkodik a HTTP protokollra, amely állapotmentes. Ez azt jelenti, hogy nincs folytonos kapcsolat a böngésző és a webszerver között. Minden kérés egy újabb kapcsolatot hoz létre. Ha böngésző megkapta a választ, zárja a kapcsolatot. Ez egy olyan helyzet, amelyre nem gondoltak eredeti MVC fejlesztői. ===== MVC konkrét nyelveken ===== * [[oktatas:programozás:php:php_mvc|PHP MVC]] * [[oktatas:programozás:java:java_mvc|Java MVC]] ===== Linkek ===== * http://www.newthinktank.com/2013/02/mvc-java-tutorial/ * http://www.austintek.com/mvc/ * https://github.com/kasperisager/swing-mvc * https://www.link-intersystems.com/blog/2013/07/20/the-mvc-pattern-implemented-with-java-swing/ * http://www.cs.wcupa.edu/rkline/java/mvc-design.html