Minták a szoftverfejlesztésben Flashcards

1
Q

Mi a minta?

A

„A minta egy olyan ötlet, mely egy gyakorlati környezetben már hasznosnak bizonyult, és várhatóan más környezetekben is hasznos lesz.”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Sorold fel a minta részeit!

A

Környezet - mely helyzetekben fordul elő a probléma
Probléma - adott környezetben ismétlődően felmerülő probléma
Erő - olyan szempont amit a megoldás során figyelembe kell venni
Megoldás - megoldási sémát ad, nem egy részletes tervet

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Jellemezd a mintakatalógusokat és mintanyelveket!

A

Mintakatalógus - minták egy tetszőleges csoportja, lehet heterogén vagy fókuszálhat egy adott területre, lehet strukturált vagy strukturálatlan

Mintanyelv - egymással összefüggő minták egy gyűjteménye, melyek együtt meghatároznak egy szisztematikus folyamatot szoftverfejlesztési problémák megoldására

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Jellemezd az architekturális mintákat!

A

Szoftverrendszerek alapvető szerkezeti felépítésére adnak sémákat. Előre definiált alrendszereket biztosítanak, meghatározzák ezek felelősségi köreit, valamint szabályokat és irányelveket.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Jellemezd a Modell View Controllert (MVC)!

A

Név: Modell-nézet verzérlő.
Környezet: rugalmas ember-gép felülettel rendelkező interaktív alkalmazások
Probléma: különösen gyakori az igény a felhasználói felületek változtatására
Erők: - Ugyanazon információk különböző módon jelennek meg
- alkalmazás megjelenítésének azonnal tükröznie kell az adatokon végzett műveleteket
Megoldás: interaktív alkalmazás három részre való osztása:
- modell komponens az adatokat és funkcionalitást csomagolja be
- nézet komponens jeleníti meg az információkat a felhasználónak
- a vezérlő fogadja a bemenetet, melyet szolgáltatáskérésekké alakít a modell vagy nézet felé

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Jellemezd a tervezési mintákat!

A

Középszintű minták, kisebb léptékűek mint az architektúrálisak.
Alkalmazásuknak nincs hatása egy szoftverrendszer alapvető felépítésére, de meghatározzák az alrendszer felépítését. Függetlenek egy programozási nyelvtől vagy paradigmától.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Osztályozd a tervezési mintákat!

A

Céljuk szerint lehetnek:
- létrehozási minták - objektumok létrehozásával foglalkoznak
- szerkezeti minták - azzal foglalkoznak, hogy az osztályok és objektumok, hogyan alkotnak nagyobb szerkezeteket
viselkedési minták - osztályok vagy objektumok egymásra hatását valamint felelősségek eloszlását írják le

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Jellemezd az egyke és építő tervezési-létrehozási mintákat!

A

Egyke:
Célja, hogy egy osztályból csak egy példányt engedélyezzen, ehhez pedig globális hozzáférési pontot megadni.
Indíték: egyes osztályok esetében fontos. hogy egy példány legyen belőlük

Építő:
Célja, hogy az összetett objektumok felépítését függetleníti az ábrázolásuktól, így ugyanazzal az építési folyamattal több ábrázolás is létrehozgató.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Jellemezd a díszítő és illesztő tervezési-szerkezeti mintákat!

A

Illesztő:
Célja, hogy az adott osztály interfészét az ügyfelek által igényelt interfésszé alakítja.

Díszítő:
Célja, hogy az objektumokhoz dinamikusan további felelősségi köröket rendelhessünk.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Jellemezd a bejáró és felelősséglánc tervezési-viselkedési mintákat!

A

Felelősséglánc:
Célja, hogy elkerüljük a kérelem küldőjének a fogadóhoz való kötését. Más objektum is kap jogot kérelem kezelésére. A fogadó objektumokat láncba állítjuk és a kérelem addig halad míg el nem ér egy objektumhoz ami képes a kezelésre.

Bejáró:
Célja, hogy az összetett objektumok elemeinek soros elérését a háttérben lévő ábrázolás felfedése nélkül biztosítsuk.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Jellemezd a látogató és sablonfüggvény tervezési-viselkedési mintákat!

A

Sablonfüggvény:
Célja, hogy egy adott művelet algoritmusának vázát elkészíteni, melynek lépéseit alosztályokra hárítunk.

Látogató:
Célja, hogy egy objektumszerkezet elemein végrehajtandó műveletet ábrázoljon, anélkül lehet új műveletet meghatározni, hogy az elemek osztályát megváltoztassuk

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Jellemezd a programozási idiómákat - implementációs mintákat!

A

Egy idióma egy programozási nyelvre jellemző alacsony szintű minta. Ezek a legalacsonyabb szintű minták. Leírja, hogy hogyan valósul meg a komponensek és kapcsolataik bizonyos vonatkozásai az adott nyelv eszkzörendszerével.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Jellemezd az antimintákat!

A

Olyan mint egy minta, de megoldás helyett olyat ad ami hasonlít egy megoldásra, de nem az. Negatív következményekkel járnak.
Három kategóriába lehet sorolni:
- szoftverfejlesztési antiminták
- szoftver architekturális antiminták
- szoftverprojekt vezetési antiminták

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Jellemezd a massza antimintát!

A

Alkalmazási szinten fordul elő, lustaság és sietség váltja ki.
A feldolgozást egyetlen osztály sajátítja ki, többi pedig adatokat zár egységbe.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly