Design Patterns Flashcards
Mi a Module Pattern célja és mit csinálunk vele?
A Module Pattern célja az enkapszuláció biztosítása. Elrejtjük vele a privát kódunkat a globális névtér elől, és biztosítunk egy interfészt, amin keresztül a publikus metódusok elérhetőek.
Milyen tervezési minták közé tartozik a Module Pattern?
A Module Pattern a kódunk struktúrájáról szól, ezért a strukturális tervezési minták (structural design patterns) közé tartozik.
Milyen eszközöket javasol a Module Pattern?
A Module Pattern által javasolt eszközök az azonnal meghívott függvénykifejezés (IIFE) a privát kód becsomagolására és a visszaadott object literal, amely a nyilvános interfészt biztosítja.
Mi a Module Pattern hátránya?
A Module Pattern hátránya, hogy nehéz megváltoztatni a kódunk láthatóságát.
Mi a Constructor Pattern célja?
A Constructor Pattern célja, hogy megkönnyítse az objektumok létrehozását.
Milyen tervezési minták közé tartozik a Constructor Pattern?
A Constructor Pattern a létrehozó tervezési minták (creational design pattern) közé tartozik.
Milyen eszközt javasol a Constructor Pattern?
Az eszköz, amelyet a Constructor Pattern javasol az objektumkészítéshez, a konstruktor függvény.
Mi a Constructor Pattern hátránya?
A Constructor Pattern hátulütője az, hogy az öröklődést nehézzé teszi.
Mi a Class Pattern célja?
A Class Pattern célja az objektumkészítés megkönnyítése.
Milyen tervezési minták közé tartozik a Class Pattern?
A Class Pattern a létrehozó tervezési minták közé tartozik (creational design pattern).
Mi a Class Pattern előnye?
A classok könnyebbé teszik az öröklődést, és bevezetnek pár egyéb szintaxisbeli apróságot is, amelyek megkönnyítik az életünket. (ES6 class szintaxis)
Milyen eszközt javasol a Class Pattern?
Az eszköz, amit a Class Pattern javasol az objektumkészítéshez, az ES6 class szintaxis.
Mi a Class Pattern hátránya?
A Class Pattern hátulütője az, hogy még nincs mindenhol támogatva.
Hogyan lehet egy Class-t definiálni?
Ahogy a függvényeknek, a classoknak is van egy class deklaráció (class declaration) és egy class kifejezés (class expression) verziójuk. Mindkettő a class kulcsszóval kezdődik, amit a class törzse (class body) követ kapcsos zárójelekkel körbevéve. A class deklaráció egy önmagában álló kódblokk, a class kifejezést pedig használhatjuk egy változó értékeként.
A class deklarációk nem hoistolódnak.
Milyen fontosabb részekből épül fel a Class törzse? (Class Body) /3pont
1, A konstruktor (constructor) – egy speciális metódus, amely inicializálja a létrehozott objektumainkat.
2, A példánytulajdonságok (instance properties) – a tulajdonságok, amelyeket a konstruktorban függesztünk a this-re, és ezen keresztül a létrehozandó objektumpéldányra.
3, A prototípus-metódusok – a függvények, amelyeken minden objektumpéldány osztozik majd, és amelyekkel manipulálhatják a saját tulajdonságaikat.
Hogyan tudunk örökölni Class-szel?
Két lépésre van szükségünk, hogy az öröklődés működjön: 1,Használjuk az extends kulcsszót a deklarációban, és mutassunk a szülő classra: class Dog extends Animal`. 2,Hívjuk meg a super() metódust – a szülő class konstruktorát – a gyermek classban minden olyan paraméterrel, amit szeretnénk átadni. Például, super(name).
Milyen tervezési minták közé tartozik a Publish/Subscribe Pattern?
A Publish/Subscribe (Kiadó/Feliratkozó), vagy röviden csak Pub/Sub a viselkedési minták közé tartozik (behavioral pattern).
Mire koncentrálnak a viselkedési minták?
A viselkedési minták arra koncentrálnak, hogyan viselkednek az objektumok, hogyan kommunikálnak egymással. A weben, JavaScripttel és DOM-mal dolgozva a Pub/Sub a leggyakoribb viselkedési tervezési minta.
Mi a Pub/Sub célja?
A Publish/Subscribe Pattern célja, hogy megkönnyítse az objektumok közötti kommunikációt.
Milyen eszközt ajánl a Pub/Sub?
Az eszköz, amit a Publish/Subscribe ajánl az objektumkommunikációra egy eseménycsatorna (event channel), ami eseményeket kap eseménykiadóktól (event publishers), és értesíti az eseményfeliratkozókat (event subscriber), amikor az esemény, amelyre feliratkoztak, tüzelt.
Mi a Pub/Sub hátránya?
A Publish/Subscribe Pattern hátulütője, hogy nehéz elkapni bugokat, amikor a publikált esemény nem egyezik azzal, amire feliratkoztunk.
Milyen tervezési minták közé tartozik az MVC Pattern?
Az MVC Pattern az architekturális minták közé tartozik (architectural pattern).
Mivel foglalkozik az Architekturális minta?
Az architekturális minta azzal foglalkozik, hogy az egységeink, objektumaink hogyan kapcsolódnak egymáshoz. A struktúráról szól, de nem az egyes egységekéről, mint a Module Pattern, hanem arról a struktúráról, ahogy az egységeink összeállnak egy kész applikációvá.
Mi az MVC Pattern célja?
Az MVC Pattern célja a szerepkörök szétválasztása a UI applikációkban. Arról szól, hogyan tudjuk a kódunk olyan komponensekbe szervezni, amelyeknek mind egyetlen, jól definiált célja van.
Milyen eszközt javasol az MVC Pattern?
Az MVC Pattern eszközként azt javasolja, hogy törjük fel a kódunkat 3 részre: egy Modelre az adathoz, egy Viewra a UI-hoz, és egy Controllerre a kettő közötti kommunikáció menedzseléséhez.