„OOP vizsga kikérdező” változatai közötti eltérés
UwU |
|||
| (2 közbenső módosítás ugyanattól a felhasználótól nincs mutatva) | |||
| 5. sor: | 5. sor: | ||
== A Monitor Object minta a Guarded Suspension minta segítségével valósítható meg. == | == A Monitor Object minta a Guarded Suspension minta segítségével valósítható meg. == | ||
{{Kvízkérdés|típus=egy|válasz=2}} | {{Kvízkérdés|típus=egy|válasz=2}} | ||
# Igaz | # Igaz | ||
# Hamis | # Hamis | ||
| 12. sor: | 11. sor: | ||
Egy alkalmazás karbantarthatósága általában javul, ha sikerül csökkenteni a függőségek számát az alkalmazás egyes részei között. | Egy alkalmazás karbantarthatósága általában javul, ha sikerül csökkenteni a függőségek számát az alkalmazás egyes részei között. | ||
{{Kvízkérdés|típus=egy|válasz=1}} | {{Kvízkérdés|típus=egy|válasz=1}} | ||
# Igaz | # Igaz | ||
# Hamis | # Hamis | ||
| 20. sor: | 18. sor: | ||
Egy vasúti hálózatban vannak sínek, váltók és állomások. A hálózatban vonatok közlekednek. Egy mozdony különböző színű vagonokat húz, és a megfelelő színű vagont a megfelelő színű állomásra kell eljuttatni . Ha egy vonat egy állomáshoz ér, akkor azok az utasok , akik ugyanolyan színű kocsiban ülnek, mint az állomás színe, leszállnak, decsak akkor , ha minden előttük lévő (azaz a köztük és a mozdony között lévő) kocsi üres (vagyis nincs rajtuk utas). A játéknak akkor van vége , ha minden utast sikerült eljuttatni a megfelelő állomásra . A játékos veszít , ha két vonat összeütközik. Tekintsük a játék egy lehetséges megoldásaként az alábbi osztálydiagramot ! (Feltételezhetjük , hogy a privát attribútumokhoz tartoznak megfelelő getter-setter függvények , amelyeket az ábra nem jelöl .) | Egy vasúti hálózatban vannak sínek, váltók és állomások. A hálózatban vonatok közlekednek. Egy mozdony különböző színű vagonokat húz, és a megfelelő színű vagont a megfelelő színű állomásra kell eljuttatni . Ha egy vonat egy állomáshoz ér, akkor azok az utasok , akik ugyanolyan színű kocsiban ülnek, mint az állomás színe, leszállnak, decsak akkor , ha minden előttük lévő (azaz a köztük és a mozdony között lévő) kocsi üres (vagyis nincs rajtuk utas). A játéknak akkor van vége , ha minden utast sikerült eljuttatni a megfelelő állomásra . A játékos veszít , ha két vonat összeütközik. Tekintsük a játék egy lehetséges megoldásaként az alábbi osztálydiagramot ! (Feltételezhetjük , hogy a privát attribútumokhoz tartoznak megfelelő getter-setter függvények , amelyeket az ábra nem jelöl .) | ||
{{Kvízkérdés|típus=több|válasz=1,2,3,6}} | {{Kvízkérdés|típus=több|válasz=1,2,3,6}} | ||
# Ne készítsünk típus- illetve képességmegkülönböztető függvényeket! | # Ne készítsünk típus- illetve képességmegkülönböztető függvényeket! | ||
# Kerüljük a csak adattárolásra használt osztályokat! | # Kerüljük a csak adattárolásra használt osztályokat! | ||
| 33. sor: | 30. sor: | ||
Define a family of algorithms, put each of them into a separate class, and make them dynamically interchangeable. | Define a family of algorithms, put each of them into a separate class, and make them dynamically interchangeable. | ||
{{Kvízkérdés|típus=egy|válasz=5}} | {{Kvízkérdés|típus=egy|válasz=5}} | ||
# Adapter | # Adapter | ||
# Decorator | # Decorator | ||
| 42. sor: | 38. sor: | ||
Allow objects with incompatible interfaces to collaborate. | Allow objects with incompatible interfaces to collaborate. | ||
{{Kvízkérdés|típus=egy|válasz=1}} | {{Kvízkérdés|típus=egy|válasz=1}} | ||
# Adapter | # Adapter | ||
# Decorator | # Decorator | ||
| 51. sor: | 46. sor: | ||
Attach additional responsibilities to an object dynamically. | Attach additional responsibilities to an object dynamically. | ||
{{Kvízkérdés|típus=egy|válasz=2}} | {{Kvízkérdés|típus=egy|válasz=2}} | ||
# Adapter | # Adapter | ||
# Decorator | # Decorator | ||
| 60. sor: | 54. sor: | ||
Share common state to support large numbers of objects efficiently. | Share common state to support large numbers of objects efficiently. | ||
{{Kvízkérdés|típus=egy|válasz=3}} | {{Kvízkérdés|típus=egy|válasz=3}} | ||
# Adapter | # Adapter | ||
# Decorator | # Decorator | ||
| 69. sor: | 62. sor: | ||
Keep a set of initialized objects ready to use rather than allocating and destroying them on demand. | Keep a set of initialized objects ready to use rather than allocating and destroying them on demand. | ||
{{Kvízkérdés|típus=egy|válasz=4}} | {{Kvízkérdés|típus=egy|válasz=4}} | ||
# Adapter | # Adapter | ||
# Decorator | # Decorator | ||
| 79. sor: | 71. sor: | ||
Ha büdös kódot (code smell) találunk a szoftverben, akkor a szoftverben hiba (bug) van. | Ha büdös kódot (code smell) találunk a szoftverben, akkor a szoftverben hiba (bug) van. | ||
{{Kvízkérdés|típus=egy|válasz=2}} | {{Kvízkérdés|típus=egy|válasz=2}} | ||
# Igaz | # Igaz | ||
# Hamis | # Hamis | ||
| 86. sor: | 77. sor: | ||
A refaktorálás nem változtatja meg a szoftver struktúráját, csak a szoftver viselkedését. | A refaktorálás nem változtatja meg a szoftver struktúráját, csak a szoftver viselkedését. | ||
{{Kvízkérdés|típus=egy|válasz=2}} | {{Kvízkérdés|típus=egy|válasz=2}} | ||
# Igaz | # Igaz | ||
# Hamis | # Hamis | ||
| 92. sor: | 82. sor: | ||
== Mely kommentek ajánlottak a clean code szerint? == | == Mely kommentek ajánlottak a clean code szerint? == | ||
{{Kvízkérdés|típus=több|válasz=2,3,6}} | {{Kvízkérdés|típus=több|válasz=2,3,6}} | ||
# Commented-out code | # Commented-out code | ||
# TODO comment | # TODO comment | ||
| 103. sor: | 92. sor: | ||
Kritikus szakaszon belülről hívott virtuális függvények nem okoznak problémát a többszálú alkalmazásokban. | Kritikus szakaszon belülről hívott virtuális függvények nem okoznak problémát a többszálú alkalmazásokban. | ||
{{Kvízkérdés|típus=egy|válasz=2}} | {{Kvízkérdés|típus=egy|válasz=2}} | ||
# Igaz | # Igaz | ||
# Hamis | # Hamis | ||
| 111. sor: | 99. sor: | ||
API definiálása 1 oldalban | API definiálása 1 oldalban | ||
{{Kvízkérdés|típus=egy|válasz=3}} | {{Kvízkérdés|típus=egy|válasz=3}} | ||
# 1 | # 1 | ||
# 2 | # 2 | ||
| 117. sor: | 104. sor: | ||
# 4 | # 4 | ||
# 5 | # 5 | ||
Követelmények összegyűjtése | Követelmények összegyűjtése | ||
{{Kvízkérdés|típus=egy|válasz=1}} | {{Kvízkérdés|típus=egy|válasz=1}} | ||
# 1 | # 1 | ||
# 2 | # 2 | ||
| 125. sor: | 112. sor: | ||
# 4 | # 4 | ||
# 5 | # 5 | ||
API implementálása | API implementálása | ||
{{Kvízkérdés|típus=egy|válasz=5}} | {{Kvízkérdés|típus=egy|válasz=5}} | ||
# 1 | # 1 | ||
# 2 | # 2 | ||
| 136. sor: | 123. sor: | ||
Példák írása az API-hoz | Példák írása az API-hoz | ||
{{Kvízkérdés|típus=egy|válasz=4}} | {{Kvízkérdés|típus=egy|válasz=4}} | ||
# 1 | # 1 | ||
# 2 | # 2 | ||
| 145. sor: | 131. sor: | ||
Use-case-ek írása | Use-case-ek írása | ||
{{Kvízkérdés|típus=egy|válasz=2}} | {{Kvízkérdés|típus=egy|válasz=2}} | ||
# 1 | # 1 | ||
# 2 | # 2 | ||
| 163. sor: | 148. sor: | ||
D.foo post: 20 <= result <= 40 | D.foo post: 20 <= result <= 40 | ||
{{Kvízkérdés|típus=egy|válasz=2}} | {{Kvízkérdés|típus=egy|válasz=2}} | ||
# Teljesül | # Teljesül | ||
# Sérül | # Sérül | ||
== Helyes-e az alábbi C# kódrészlet kölcsönös kizárás szempontjából? == | == Helyes-e az alábbi C# kódrészlet kölcsönös kizárás szempontjából? == | ||
private const string locker = "LOCK" ; | |||
public void DoSomestuff ( | private const string locker = "LOCK" ; | ||
public void DoSomestuff ( ) | |||
{ | { | ||
this.Work ( ) ; | lock ( locker ) | ||
{ | |||
this.Work ( ) ; | |||
} | |||
} | } | ||
{{Kvízkérdés|típus=egy|válasz=2}} | {{Kvízkérdés|típus=egy|válasz=2}} | ||
# Helyes | # Helyes | ||
# Helytelen | # Helytelen | ||
| 192. sor: | 177. sor: | ||
D.foo pre: 10< x <= 100 | D.foo pre: 10< x <= 100 | ||
{{Kvízkérdés|típus=egy|válasz=1}} | {{Kvízkérdés|típus=egy|válasz=1}} | ||
# Teljesül | # Teljesül | ||
# Sérül | # Sérül | ||
| 199. sor: | 183. sor: | ||
A YAGNI elv azt mondja, hogy ne használjunk tervezési mintákat. | A YAGNI elv azt mondja, hogy ne használjunk tervezési mintákat. | ||
{{Kvízkérdés|típus=egy|válasz=2}} | {{Kvízkérdés|típus=egy|válasz=2}} | ||
# Igaz | # Igaz | ||
# Hamis | # Hamis | ||
| 206. sor: | 189. sor: | ||
Ha az ADP elv sérül, akkor a DIP elv segíthet a probléma megoldásában. | Ha az ADP elv sérül, akkor a DIP elv segíthet a probléma megoldásában. | ||
{{Kvízkérdés|típus=egy|válasz=1}} | {{Kvízkérdés|típus=egy|válasz=1}} | ||
# Igaz | # Igaz | ||
# Hamis | # Hamis | ||
| 214. sor: | 196. sor: | ||
Egy vasúti hálózatban vannak sínek, váltók és állomások. A hálózatban vonatok közlekednek. Egy mozdony különböző színű vagonokat húz, és a megfelelő színű vagont a megfelelő színű állomásra kell eljuttatni . Ha egy vonat egy állomáshoz ér, akkor azok az utasok , akik ugyanolyan színű kocsiban ülnek, mint az állomás színe, leszállnak, decsak akkor , ha minden előttük lévő (azaz a köztük és a mozdony között lévő) kocsi üres (vagyis nincs rajtuk utas). A játéknak akkor van vége , ha minden utast sikerült eljuttatni a megfelelő állomásra . A játékos veszít , ha két vonat összeütközik. Tekintsük a játék egy lehetséges megoldásaként az alábbi osztálydiagramot ! (Feltételezhetjük , hogy a privát attribútumokhoz tartoznak megfelelő getter-setter függvények , amelyeket az ábra nem jelöl .) | Egy vasúti hálózatban vannak sínek, váltók és állomások. A hálózatban vonatok közlekednek. Egy mozdony különböző színű vagonokat húz, és a megfelelő színű vagont a megfelelő színű állomásra kell eljuttatni . Ha egy vonat egy állomáshoz ér, akkor azok az utasok , akik ugyanolyan színű kocsiban ülnek, mint az állomás színe, leszállnak, decsak akkor , ha minden előttük lévő (azaz a köztük és a mozdony között lévő) kocsi üres (vagyis nincs rajtuk utas). A játéknak akkor van vége , ha minden utast sikerült eljuttatni a megfelelő állomásra . A játékos veszít , ha két vonat összeütközik. Tekintsük a játék egy lehetséges megoldásaként az alábbi osztálydiagramot ! (Feltételezhetjük , hogy a privát attribútumokhoz tartoznak megfelelő getter-setter függvények , amelyeket az ábra nem jelöl .) | ||
{{Kvízkérdés|típus=több|válasz=1,3,5,7}} | {{Kvízkérdés|típus=több|válasz=1,3,5,7}} | ||
# Singleton | # Singleton | ||
# Abstract Factory | # Abstract Factory | ||
| 227. sor: | 208. sor: | ||
Az OCP elv azt mondja, hogy legyünk nyitottak a módosításra, és zártak a bővítésre. | Az OCP elv azt mondja, hogy legyünk nyitottak a módosításra, és zártak a bővítésre. | ||
{{Kvízkérdés|típus=egy|válasz=2}} | {{Kvízkérdés|típus=egy|válasz=2}} | ||
# Igaz | # Igaz | ||
# Hamis | # Hamis | ||
| 233. sor: | 213. sor: | ||
== A Feature Envy code smell mely refaktorálási minták segítségével javítható? == | == A Feature Envy code smell mely refaktorálási minták segítségével javítható? == | ||
{{Kvízkérdés|típus=több|válasz=2,5}} | {{Kvízkérdés|típus=több|válasz=2,5}} | ||
# Introduce explaining variable | # Introduce explaining variable | ||
# Move method | # Move method | ||
| 243. sor: | 222. sor: | ||
Az alábbi feladatot mely osztályok oldják meg Java esetén? | Az alábbi feladatot mely osztályok oldják meg Java esetén? | ||
{{Kvízkérdés|típus=egy|válasz=3}} | {{Kvízkérdés|típus=egy|válasz=3}} | ||
# Adapter | |||
Adapter | # Decorator | ||
Decorator | # Future | ||
Future | # Object | ||
Object | # Observer | ||
Observer | # Singleton | ||
Singleton | # Strategy | ||
Strategy | |||
== Kölcsönös kizárás biztosítása és szálak értesítése == | == Kölcsönös kizárás biztosítása és szálak értesítése == | ||
Az alábbi feladatot mely osztályok oldják meg Java esetén? | Az alábbi feladatot mely osztályok oldják meg Java esetén? | ||
{{Kvízkérdés|típus=egy|válasz=4}} | {{Kvízkérdés|típus=egy|válasz=4}} | ||
# Adapter | # Adapter | ||
# Decorator | # Decorator | ||
| 267. sor: | 244. sor: | ||
Az alábbi feladatot mely osztályok oldják meg Java esetén? | Az alábbi feladatot mely osztályok oldják meg Java esetén? | ||
{{Kvízkérdés|típus=egy|válasz=3}} | {{Kvízkérdés|típus=egy|válasz=3}} | ||
# Adapter | # Adapter | ||
# Decorator | # Decorator | ||
| 279. sor: | 255. sor: | ||
Az LoD szerint az általunk létrehozott objektumok nem számítanak idegennek. | Az LoD szerint az általunk létrehozott objektumok nem számítanak idegennek. | ||
{{Kvízkérdés|típus=egy|válasz=1}} | {{Kvízkérdés|típus=egy|válasz=1}} | ||
# Igaz | # Igaz | ||
# Hamis | # Hamis | ||
== Az opcionális elemeket tartalmazásként implementáljuk, ne öröklődésként! == A fenti OO tervezési heurisztikának melyik a leginkább megfelelő code smell vagy refaktorálási transzformáció? {{Kvízkérdés|típus=egy|válasz=3}} | == Az opcionális elemeket tartalmazásként implementáljuk, ne öröklődésként! == | ||
A fenti OO tervezési heurisztikának melyik a leginkább megfelelő code smell vagy refaktorálási transzformáció? | |||
{{Kvízkérdés|típus=egy|válasz=3}} | |||
# Data Class | |||
# Extract Superclass | |||
# Introduce Null Object | |||
# Feature Envy | |||
# Replace Type Code with Class | |||
== Kerüljük a csak adattárolásra használt osztályokat! == | |||
A fenti OO tervezési heurisztikának melyik a leginkább megfelelő code smell vagy refaktorálási transzformáció? | |||
== Kerüljük a csak adattárolásra használt osztályokat! == A fenti OO tervezési heurisztikának melyik a leginkább megfelelő code smell vagy refaktorálási transzformáció? | |||
{{Kvízkérdés|típus=egy|válasz=1}} | {{Kvízkérdés|típus=egy|válasz=1}} | ||
# Data Class | # Data Class | ||
# Extract Superclass | # Extract Superclass | ||
| 300. sor: | 276. sor: | ||
# Replace Type Code with Class | # Replace Type Code with Class | ||
== Ne ellenőrizzük egy objektum típusát, helyette használjunk polimorfizmust! == A fenti OO tervezési heurisztikának melyik a leginkább megfelelő code smell vagy refaktorálási transzformáció? {{Kvízkérdés|típus=egy|válasz=5}} | == Ne ellenőrizzük egy objektum típusát, helyette használjunk polimorfizmust! == | ||
A fenti OO tervezési heurisztikának melyik a leginkább megfelelő code smell vagy refaktorálási transzformáció? | |||
{{Kvízkérdés|típus=egy|válasz=5}} | |||
# Data Class | # Data Class | ||
# Extract Superclass | # Extract Superclass | ||
| 308. sor: | 285. sor: | ||
# Replace Type Code with Class | # Replace Type Code with Class | ||
== Minimalizáljuk az együttműködő osztályok közötti metódushívások számát! == A fenti OO tervezési heurisztikának melyik a leginkább megfelelő code smell vagy refaktorálási transzformáció? {{Kvízkérdés|típus=egy|válasz=4}} | == Minimalizáljuk az együttműködő osztályok közötti metódushívások számát! == | ||
A fenti OO tervezési heurisztikának melyik a leginkább megfelelő code smell vagy refaktorálási transzformáció? {{Kvízkérdés|típus=egy|válasz=4}} | |||
# Data Class | # Data Class | ||
# Extract Superclass | # Extract Superclass | ||
| 317. sor: | 293. sor: | ||
# Replace Type Code with Class | # Replace Type Code with Class | ||
== A közös adat és viselkedés olyan magasan legyen az öröklési hierarchiában, amilyen magasan csak lehet! == A fenti OO tervezési heurisztikának melyik a leginkább megfelelő code smell vagy refaktorálási transzformáció? {{Kvízkérdés|típus=egy|válasz=2}} | == A közös adat és viselkedés olyan magasan legyen az öröklési hierarchiában, amilyen magasan csak lehet! == | ||
A fenti OO tervezési heurisztikának melyik a leginkább megfelelő code smell vagy refaktorálási transzformáció? | |||
{{Kvízkérdés|típus=egy|válasz=2}} | |||
# Data Class | # Data Class | ||
# Extract Superclass | # Extract Superclass | ||
A lap jelenlegi, 2026. január 10., 17:25-kori változata
A Monitor Object minta a Guarded Suspension minta segítségével valósítható meg.
- Igaz
- Hamis
Igaz-e az alábbi állítás?
Egy alkalmazás karbantarthatósága általában javul, ha sikerül csökkenteni a függőségek számát az alkalmazás egyes részei között.
- Igaz
- Hamis
Mely OO tervezési heurisztikák teljesülnek az alábbiak közül?
Egy vasúti hálózatban vannak sínek, váltók és állomások. A hálózatban vonatok közlekednek. Egy mozdony különböző színű vagonokat húz, és a megfelelő színű vagont a megfelelő színű állomásra kell eljuttatni . Ha egy vonat egy állomáshoz ér, akkor azok az utasok , akik ugyanolyan színű kocsiban ülnek, mint az állomás színe, leszállnak, decsak akkor , ha minden előttük lévő (azaz a köztük és a mozdony között lévő) kocsi üres (vagyis nincs rajtuk utas). A játéknak akkor van vége , ha minden utast sikerült eljuttatni a megfelelő állomásra . A játékos veszít , ha két vonat összeütközik. Tekintsük a játék egy lehetséges megoldásaként az alábbi osztálydiagramot ! (Feltételezhetjük , hogy a privát attribútumokhoz tartoznak megfelelő getter-setter függvények , amelyeket az ábra nem jelöl .)
- Ne készítsünk típus- illetve képességmegkülönböztető függvényeket!
- Kerüljük a csak adattárolásra használt osztályokat!
- Egy osztály ne függjön a leszármazottaitól!
- Ne keverjük össze az objektumokat a leszármazottakkal!
- Az attribútumok legyenek privátok!
- A viselkedést modellezzük, ne a szerepeket!
- Egy osztály ne függjön az őt használó osztályoktól!
- Az öröklési hierarchia gyökerében absztrakt osztályok legyenek!
Párosítsa az alábbi feladatokat a nekik leginkább megfelelő mintával
Define a family of algorithms, put each of them into a separate class, and make them dynamically interchangeable.
- Adapter
- Decorator
- Flyweight
- Object Pool
- Strategy
Allow objects with incompatible interfaces to collaborate.
- Adapter
- Decorator
- Flyweight
- Object Pool
- Strategy
Attach additional responsibilities to an object dynamically.
- Adapter
- Decorator
- Flyweight
- Object Pool
- Strategy
Share common state to support large numbers of objects efficiently.
- Adapter
- Decorator
- Flyweight
- Object Pool
- Strategy
Keep a set of initialized objects ready to use rather than allocating and destroying them on demand.
- Adapter
- Decorator
- Flyweight
- Object Pool
- Strategy
Igaz-e az alábbi állítás?
Ha büdös kódot (code smell) találunk a szoftverben, akkor a szoftverben hiba (bug) van.
- Igaz
- Hamis
Igaz-e az alábbi állítás?
A refaktorálás nem változtatja meg a szoftver struktúráját, csak a szoftver viselkedését.
- Igaz
- Hamis
Mely kommentek ajánlottak a clean code szerint?
- Commented-out code
- TODO comment
- Amplification
- Journal comments
- Banner comments
- Public API documentation
Igaz-e az alábbi állítás?
Kritikus szakaszon belülről hívott virtuális függvények nem okoznak problémát a többszálú alkalmazásokban.
- Igaz
- Hamis
Tegye sorrendbe az alábbi API-tervezési lépéseket!
API definiálása 1 oldalban
- 1
- 2
- 3
- 4
- 5
Követelmények összegyűjtése
- 1
- 2
- 3
- 4
- 5
API implementálása
- 1
- 2
- 3
- 4
- 5
Példák írása az API-hoz
- 1
- 2
- 3
- 4
- 5
Use-case-ek írása
- 1
- 2
- 3
- 4
- 5
Teljesül-e az alábbi feltételek mellett a Liskov-elv?
A.foo post: 0 <= result<= 100
B.foo post: 10<= result<= 50
C.foo post: 0<= result<= 100
D.foo post: 20 <= result <= 40
- Teljesül
- Sérül
Helyes-e az alábbi C# kódrészlet kölcsönös kizárás szempontjából?
private const string locker = "LOCK" ;
public void DoSomestuff ( )
{
lock ( locker )
{
this.Work ( ) ;
}
}
- Helyes
- Helytelen
Teljesül-e az alábbi feltételek mellett a Liskov-elv?
A.foo pre: 20<= x <=50
B.foo pre: 10< x<= 90
C.foo pre: 0 <= x <= 100
D.foo pre: 10< x <= 100
- Teljesül
- Sérül
Igaz-e az alábbi állítás?
A YAGNI elv azt mondja, hogy ne használjunk tervezési mintákat.
- Igaz
- Hamis
Igaz-e az alábbi állítás?
Ha az ADP elv sérül, akkor a DIP elv segíthet a probléma megoldásában.
- Igaz
- Hamis
Mely tervezési minták kerültek alkalmazásra?
Egy vasúti hálózatban vannak sínek, váltók és állomások. A hálózatban vonatok közlekednek. Egy mozdony különböző színű vagonokat húz, és a megfelelő színű vagont a megfelelő színű állomásra kell eljuttatni . Ha egy vonat egy állomáshoz ér, akkor azok az utasok , akik ugyanolyan színű kocsiban ülnek, mint az állomás színe, leszállnak, decsak akkor , ha minden előttük lévő (azaz a köztük és a mozdony között lévő) kocsi üres (vagyis nincs rajtuk utas). A játéknak akkor van vége , ha minden utast sikerült eljuttatni a megfelelő állomásra . A játékos veszít , ha két vonat összeütközik. Tekintsük a játék egy lehetséges megoldásaként az alábbi osztálydiagramot ! (Feltételezhetjük , hogy a privát attribútumokhoz tartoznak megfelelő getter-setter függvények , amelyeket az ábra nem jelöl .)
- Singleton
- Abstract Factory
- Decorator
- Template Method
- Visitor
- Memento
- Observer
- Composite
Igaz-e az alábbi állítás?
Az OCP elv azt mondja, hogy legyünk nyitottak a módosításra, és zártak a bővítésre.
- Igaz
- Hamis
A Feature Envy code smell mely refaktorálási minták segítségével javítható?
- Introduce explaining variable
- Move method
- Replace magic numbers with symbolic constant
- Rename method
- Inline class
Egy háttérben futó számítás megszakítása
Az alábbi feladatot mely osztályok oldják meg Java esetén?
- Adapter
- Decorator
- Future
- Object
- Observer
- Singleton
- Strategy
Kölcsönös kizárás biztosítása és szálak értesítése
Az alábbi feladatot mely osztályok oldják meg Java esetén?
- Adapter
- Decorator
- Future
- Object
- Observer
- Singleton
- Strategy
Információ biztosítása háttérben futó számítás állapotáról
Az alábbi feladatot mely osztályok oldják meg Java esetén?
- Adapter
- Decorator
- Future
- Object
- Observer
- Singleton
- Strategy
Igaz-e az alábbi állítás?
Az LoD szerint az általunk létrehozott objektumok nem számítanak idegennek.
- Igaz
- Hamis
Az opcionális elemeket tartalmazásként implementáljuk, ne öröklődésként!
A fenti OO tervezési heurisztikának melyik a leginkább megfelelő code smell vagy refaktorálási transzformáció?
- Data Class
- Extract Superclass
- Introduce Null Object
- Feature Envy
- Replace Type Code with Class
Kerüljük a csak adattárolásra használt osztályokat!
A fenti OO tervezési heurisztikának melyik a leginkább megfelelő code smell vagy refaktorálási transzformáció?
- Data Class
- Extract Superclass
- Introduce Null Object
- Feature Envy
- Replace Type Code with Class
Ne ellenőrizzük egy objektum típusát, helyette használjunk polimorfizmust!
A fenti OO tervezési heurisztikának melyik a leginkább megfelelő code smell vagy refaktorálási transzformáció?
- Data Class
- Extract Superclass
- Introduce Null Object
- Feature Envy
- Replace Type Code with Class
Minimalizáljuk az együttműködő osztályok közötti metódushívások számát!
A fenti OO tervezési heurisztikának melyik a leginkább megfelelő code smell vagy refaktorálási transzformáció?
- Data Class
- Extract Superclass
- Introduce Null Object
- Feature Envy
- Replace Type Code with Class
A közös adat és viselkedés olyan magasan legyen az öröklési hierarchiában, amilyen magasan csak lehet!
A fenti OO tervezési heurisztikának melyik a leginkább megfelelő code smell vagy refaktorálási transzformáció?
- Data Class
- Extract Superclass
- Introduce Null Object
- Feature Envy
- Replace Type Code with Class

