„Gyakorlas” változatai közötti eltérés
A VIK Wikiből
/* Adott az alábbi kódrészlet, mely Oracle típusú kapcsolat és parancs objektumok segítségével Oracle adathozzáférési réteget valósít meg. IConnection conn = new OracleConnection(); conn.Open(); ICommand cmd = new OracleCommand("SELECT * FROM Orders"); cmd.ExecuteReader(); T.f.h. Hasonló kódrészletek az adathozzáférési réteg több osztályában előfordulnak. Melyik tervezési minta alkalmazásával lenne legpraktikusabb az adathozzáférési réteg kódját úgy általánosítani, hogy tetszőleges adatkeze… |
|||
294. sor: | 294. sor: | ||
== Egy alkalmazásban a több helyről is használt SecurityService osztály biztonsági szempontból érzékeny műveleteket végez. A kliens osztályok a SecurityService-t már egy az általa implementált ISecurityService interfészen keresztül érik el. Mely tervezési minta segítségével tudjuk az osztály és a klienseinek módosítása nélkül megoldani, hogy az egyes kérések kiszolgálása csak bizonyos jogosultsági körrel rendelkező kliens kód esetében történjen meg? == | == Egy alkalmazásban a több helyről is használt SecurityService osztály biztonsági szempontból érzékeny műveleteket végez. A kliens osztályok a SecurityService-t már egy az általa implementált ISecurityService interfészen keresztül érik el. Mely tervezési minta segítségével tudjuk az osztály és a klienseinek módosítása nélkül megoldani, hogy az egyes kérések kiszolgálása csak bizonyos jogosultsági körrel rendelkező kliens kód esetében történjen meg? == | ||
{{kvízkérdés|típus=egy|válasz= | {{kvízkérdés|típus=egy|válasz=9|pontozás=-}} | ||
# Abstract Factory | |||
# Abstract Method | |||
# Adapter | |||
# Composite | # Composite | ||
# Factory Method | |||
# Memento | # Memento | ||
# Observer | # Observer | ||
# Prototype | |||
# Proxy | |||
# Singleton | |||
# Strategy | # Strategy | ||
== Egy kilens objektum egy nagy erőforrásigényű objektumot használ (pl. Egy szövegszerkesztő nagyméretű képeket), a nagy erőforrásigényű objektumra, azonban nincs mindig szükség, igény esetén tölthető be. A betöltés előtt is szükség van azonban a nagy erőforrásigényű objektum bizonyos paramétereire. Mely tervezési mintát használná a probléma megoldására? == | == Egy kilens objektum egy nagy erőforrásigényű objektumot használ (pl. Egy szövegszerkesztő nagyméretű képeket), a nagy erőforrásigényű objektumra, azonban nincs mindig szükség, igény esetén tölthető be. A betöltés előtt is szükség van azonban a nagy erőforrásigényű objektum bizonyos paramétereire. Mely tervezési mintát használná a probléma megoldására? == |
A lap 2023. június 12., 10:58-kori változata
.NET környezetben egy kiszolgáló alkalmazást készítünk, melynek egyidőben nagyon sok klienst kell tudni kiszolgálnia. Adja meg annak a .NET fogalomnak/osztálynak a nevét maximum egy-két szóval, amit ilyen esetben a legcélszerűbb használni a klisensek hatékony párhuzamos kiszolgálása érdekében.
- Deadlock
- Lock
- Thread-pool
- Control.Invoke
.NET környezetben egy munkaszálból szeretnénk egy a fő szálból létrehozott TextBox Text tulajdonságát lekérdezni. Adja meg milyen mechanizmust/műveletet kell ehhez használni?
- Deadlock
- Lock
- Thread-pool
- Control.Invoke
.NET környezetben egy objektumot gyakran olvasunk, de ritkán írunk. Mit használna a kölcsönös kizárás megvalósítására?
- WriterLock
- ReaderLock
- ReaderWriterLock
- ExecuterLock
.NET környezetben egy szálban hatékonyan kell várakozni arra, hogy egy másik szál valamilyen adatot előkészítse a számára. Milyen szinkronizációs konstrukciót a legcélszerűbb erre használni?
- Lock
- Synchronized
- Mutex
- ManualResetEvet
- ReaderWriterLock
- Semaphore
.NET környezetben egy többszálú alkalmazást készítünk, melyben az egyik szál lock utasítással zárat szerez előbb X, majd Y objektum paraméterekkel. Egy másik szál előbb az Y, majd az X paraméterekkel szerez zárat. Adja meg egy szóval, minek a veszélye áll fent egy ilyen forgatókönyv esetén?
- Deadlock
- Lock
- Thread-pool
A .NET Windows Forms bizonyos osztályai a beépített Component osztályból származnak. Mi ennek a következménye?
- Lehetőség van a Visual Studio designerében felparaméterezni.
- Natív ablakot csomagol be.
- Szülő-gyerek viszonyban állíthatók egymással.
- Örökli a vezérlőkre közös tulajdonságokat, mint pl. A helye, mérete, stb.
A feladat egy Pipes and filters (csővezeték) architektúrájú alkalmazás elkészítése, melynek során célunk egy több CPU magos hardver környezet lehető legjobb kihasználása. Melyik megközelítést választaná ehhez?
- Passzív szűrő által vezérelt
- Csővezeték által vezérelt
- Adatnyelő által vezérelt
- Adatforrás által vezérelt
- Aktív szűrő által vezérelt
A feladatunk egy ablakozós keretrendszer kifejlesztése. A keretrendszerben bevezetünk egy absztrakt Window osztályt, melyből a keretrendszerre épülő alkalmazások fejlesztésekor le kell származtatni és meg kell valósítani az alkalmazásspecifikus ablak viselkedését. A keretrendszerben egy WindowManager osztályt is megvalósítunk, melynek felelőssége bizonyos feltételek esetén a Window leszármazott objektumok létrehozása, tárolása és menedzselése. A felületelemek vonatkozásában (pl. Button, Dropdown, stb.) az alkalmazásfejlesztőknek nem kell a keretrendszer osztályaiból leszármaztatni. Mely tervezési mintát a legcélszerűbb választani a Window leszármaztatott osztály keretrendszeren belüli létrehozására? Olyan megoldást válasszon, mely a legkevesebb új osztály bevezetésével jár.
- Abstract Factory
- Abstract Method
- Adapter
- Composite
- Factory Method
- Memento
- Observer
- Prototype
- Proxy
- Singleton
- Strategy
A feladatunk egy alkalmazás elkészítése egy gyártósor által előállított termék különböző modelljeinek a teszteléséhez. A különböző modellekhez mindig ugyanazon alkatrészkategóriákból (pl. Hangszóró, csatlakozó, vezérlőegység stb.) van szükség egy-egy alkatrészre, de az egyes modellekhez az egyes alkatrészkategóriákból más-más modellspecifikus alkatrész beépítésére van szükség (pl. Más típusú hangszóró, csatlakozó stb.) tartozik a Galaxy S20 és Galaxy A20 modellekhez), melyekhez az alkalmazásunkban különböző tesztelést végző osztálybeli objektumra van szükség. Mely tervezési minta alkalmazása a legcélszerűbb az alábbiak közül?
- Abstract Factory
- Abstract Method
- Adapter
- Composite
- Factory Method
- Memento
- Observer
- Prototype
- Proxy
- Singleton
- Strategy
A feladatunk egy keretrendszer megtervezése. A keretrendszerben létre kell hozni egy adott típusú objektumot, de annak típusát nem ismerjük, mert az csak a keretrendszerre épülő alkalmazás esetén dől el. Mely tervezési mintát használná a probléma megoldására?
- Abstract Factory
- Abstract Method
- Adapter
- Composite
- Factory Method
- Memento
- Observer
- Prototype
- Proxy
- Singleton
- Strategy
A szoftverarchitektúra jelentőségét szokás egy kiegyensúlyozott mérleggel is ábrázolni. Mire vonatkozik ez?
- A szoftvernek jól kell működnie (funkcionalitás), de ugyanilyen fontos, hogy legyen jól struktúrált.
- Az architektúra különböző aspektusainak, úgymint szerkezet, karbantarthatóság, tesztelhetőség egyensúlyban kell lennie.
- A szoftvert magas szinten alapvetően azonos léptékű modulokra célszerű bontani.
- Az architektúra/kód struktúrálás kihat a teljesítményre (pl. Túl sok modul/réteg csökkenti a teljesítményt), ennek vonatkozásában meg kell találni az egyensúlyt.
Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet, mely egymásba ágyazott zárakat tartalmaz.
class Program{
static object syncObject = new object();
static void Main(string[] args){
lock (syncObject) {
f();}}
static void f(){
lock (syncObject) {
Console.WriteLine("Hello!");}}}
class Program{
static object syncObject = new object();
static void Main(string[] args){
lock (syncObject) {
f();}}
static void f(){
lock (syncObject) {
Console.WriteLine("Hello!");}}}
- Az alkalmazás kiírja a "Hello!" szöveget a konzolra.
- Az alkalmazás soha nem fejezi be a futását, mert az f() függvényben a lock utasításnál már egy a Main függvényben zárolt objektumra próbál zárolni (holtpont alakul ki).
- Az f() függvényben a lock utasítás kivételt dob annak érdekében, hogy ne alakuljon ki holtpont.
Adott az alábbi C# nyelvű .NET alkalmazás kódrészlet, melyben a .NET beépített List<T> osztályát használjuk (és nem lehet helyette más osztályt használni).
class DataProcessor{
List<int> items = new List<int>();
static object syncObject = new object();
public int GetItem(int index) {
lock (syncObject) { return items[index]; }}
public void AddItem(int n) {
lock (syncObject) { items.Add(n); }}}
List<int> items = new List<int>();
static object syncObject = new object();
public int GetItem(int index) {
lock (syncObject) { return items[index]; }}
public void AddItem(int n) {
lock (syncObject) { items.Add(n); }}}
- A megoldás jelen formájában nem szálbiztos (thread safe), de azzá tehető, ha a syncObject tagváltozó elől a static kulcsszót eltávolítjuk.
- A megoldás szálbiztos (thread safe) és nem tehető triviális módon hatékonyabbá.
- A megoldás szálbiztos (thread safe), de a syncObject tagváltozó előtti a static kulcsszó eltávolításával hatékonyabbá tehető.
- A megoldás szálbiztos (thread safe), de a lock utasítások eltávolításával hatékonyabbá tehető.
Adott az alábbi Pipes and filters (csővezeték) architektúra filter megvalósítás pszeudokód:
Data Read(){
Data data = prevFilter.Read();
Data processedData = ProcessedData(data);return processedData; }
Data data = prevFilter.Read();
Data processedData = ProcessedData(data);return processedData; }
- Adatforrás által vezérelt.
- Adatnyelő által vezérelt.
- Csővezeték által vezérelt.
- Aktív szűrő által vezérelt.
- Passzív szűrő által vezérelt.
Adott az alábbi Pipes and filters (csővezeték) architektúra filter megvalósítás pszeudokód:
void Write(Data data){
Data processedData ProcessData(data);
nextFilter.Write(processedData);
}
Data processedData ProcessData(data);
nextFilter.Write(processedData);
}
- Adatforrás által vezérelt.
- Adatnyelő által vezérelt.
- Csővezeték által vezérelt.
- Aktív szűrő által vezérelt.
- Passzív szűrő által vezérelt.
Adott az alábbi Pipes and filters architektúra, filter megvalósítás pszeudokód. Melyik forgatókönyv felel meg a lenti kódnak?
void Run(){
Data data;
while(data = inputPipe.Read()){
Data processedData = ProcessedData(data);
outputPipe.Write(processedData);}}}
Data data;
while(data = inputPipe.Read()){
Data processedData = ProcessedData(data);
outputPipe.Write(processedData);}}}
- Csővezeték által vezérelt.
- Passzív szűrő által vezérelt.
- Adatnyelő által vezérelt.
- Aktív szűrő által vezérelt.
- Adatforrás által vezérelt.
Adott az alábbi kódrészlet, mely Oracle típusú kapcsolat és parancs objektumok segítségével Oracle adathozzáférési réteget valósít meg.
IConnection conn = new OracleConnection();
conn.Open();
ICommand cmd = new OracleCommand("SELECT * FROM Orders");
cmd.ExecuteReader();
T.f.h. Hasonló kódrészletek az adathozzáférési réteg több osztályában előfordulnak. Melyik tervezési minta alkalmazásával lenne legpraktikusabb az adathozzáférési réteg kódját úgy általánosítani, hogy tetszőleges adatkezelő (nem csak Oracle) rendszer esetén működőképes legyen? Jelölje meg a helyes választ!
IConnection conn = new OracleConnection();
conn.Open();
ICommand cmd = new OracleCommand("SELECT * FROM Orders");
cmd.ExecuteReader();
- Abstract Factory
- Abstract Method
- Adapter
- Composite
- Factory Method
- Memento
- Observer
- Prototype
- Proxy
- Singleton
- Strategy
Adott az alábbi állítás: C# nyelven a nem statikus tagváltozókat nem statikus lock objektummal kell védeni, mert statikus lock objektum alkalmazása esetén nem teljesülne a kölcsönös kizárás (inkonzisztens állapotba kerülhetne a védett objektum). Jelölje meg a helyes választ!
- Csak az első tagmondat igaz (+ -)
- Csak a második tagmondat igaz (- +)
- Mindkét tagmondat igaz, de a következtetés hamis (+ + -)
- Mindkét tagmondat igaz és a következtetés is helyes (+ + +)
- Egyik tagmondat sem igaz (- -)
Adott egy osztály. Az objektumainak állapotát úgy szeretnénk elmenteni és visszaállítani egy másik osztályból, hogy nem tesszük publikussá a tagváltozóit. Mely tervezési mintát célszerű használni a megoldás során?
- Proxy
- Repository
- Strategy
- Command Processor
- Snapshot
- Memento
- Command
Az alábbiak közül mely adatok teszik egyedivé az erős névvel ellátott (azonosított) .NET szerelvényeket? Jelölje meg a helyes választ!
- Név, fejlesztő cég privát kulcsa, verzió, opcionális kultúra információ
- Név, fejlesztő cég nyilvános kulcsa, verzió, opcionális kultúra információ
- Név, verzió, pcionális kultúra információ
- Név, fejlesztő cég nyilvános kulcsa, verzió, digitális aláírás, opcionális kultúra információ
Az egyik tervezési minta azt javasolja, hogy a származtatás/komplex hierarchia helyett az osztály viselkedésének különböző aspektusait kompozícióval tegyük paraméterezhetővé. Melyzik ez a tervezési minta?
- Composite
- Memento
- Observer
- Strategy
- Singleton
- Proxy
- Factory method
- Adapter
- Abstract factory
C# nyelvű kódunkban egy olyan objektumot hozunk létre, mely nem felügyelt erőforrást használ/csomagol be. Milyen C# konstrukciót használunk ilyen esetben, ha biztosítani szeretnénk a nem felügyelt erőforrás mielőbbi felszabadítását, miután befejeztük a használatát?
- Destroy
- Discard
- Dispose
- Using blokk
- Finalize
- Destruktor
Composite tervezési minta fontosabb osztályai a következők: Client, Component, Composite (összetett) és Leaf (levél). Jelölje meg a helyes választ!
- A Composite osztálynak van egy Component gyűjteménye.
- A Component osztálynak van egy gyűjteménye Composite, valamint egy másik gyűjteménye Leaf objektumokból.
- A Component osztálynak van egy közös gyűjteménye (heterogén kollekció) Composite és Leaf objektumokból.
- A Composite osztálynak van egy gyűjteménye Component, valamint egy másik gyűjteménye Leaf objektumokból.
- A Client osztálynak van egy gyűjteménye Composite, valamint egy másik gyűjteménye Leaf objektumokból.
Egy Windows Forms alapú alkalmazás esetén egy saját státuszbárt (? Státuszsáv) szeretne megvalósítani. Ennek mindig a tartalmazó ablak alján kell elhelyezkednie fix magassággal (státuszbár az alsó/oldalsó élei és a tartalmazó űrlap élei között nem lehet szabad hely/rés). Milyen technikát legcélszerűbb ehhez választani?
- Dockolás
- Anchor
- FillPanel
- SplitContainer
- Splitter
- Sticky container
- Grid panel
Egy Windows Forms alapú alkalmazás esetén egy saját státuszbárt szeretne megvalósítani. Ennek mindig a tartalmazó ablak alján kell elhelyezkednie fix magassággal (státuszbár az alsó/oldalsó élei és a tartalmazó űrlap élei között nem lehet szabad hely/rés). Milyen technikát legcélszerűbb ehhez választani?
- Dockolás
- Anchor
- FillPanel
- SplitContainer
- Splitter
- Sticky container
- Grid panel
Egy Windows Forms alapú alkalmazásban a célunk egy olyan testreszabott, újrafelhasználható checkbox (jelölőnégyzet) vezérlő bevezetése, amely minden egyes kattintáskor egy üzenetablakban megkérdezi a felhasználót, biztos-e a döntésében. Mit használna ehhez?
- Groupbox
- Checkbox osztályból származtatás
- Form
- Component
- CostumControl leszármaztatás
- UserControl
- Control leszármaztatás
Egy Windows Forms alapú alkalmazásban a célunk egy teljesen egyedi és újrafelhasználható vezérlő bevezetése, mely minden kattintásra egyel nagyobb értéket jelenít meg. Mit használna ehhez?
- Groupbox
- Checkbox osztályból származtatás
- Form
- Component
- CostumControl leszármaztatás
- UserControl
- Control leszármaztatás
Egy Windows Forms alapú alkalmazásban a célunk egy összetett (több vezérlőből álló) újrafelhasználható vezérlő kialakítása. Mit használna ehhez?
- Groupbox
- Checkbox osztályból származtatás
- Form
- Component
- CostumControl leszármaztatás
- UserControl
- Control leszármaztatás
Egy Windows Forms alapú alkalmazásban a célunk egy összetett (több vezérlőből álló), újrafelhasználható vezérlő kialakítása. Mit használna ehhez?
- Groupbox
- Checkbox osztályból származtatás
- Form
- Component
- CostumControl leszármaztatás
- UserControl
- Control leszármaztatás
Egy Windows Forms űrlapra egy Panel objektumot helyezünk olyan módon, hogy a Panel és az űrlap szélei között marad szaba hely. Milyen technikával lehet legegyszerűbben elérni, hogy az űrlap magasságának növelésével a Panel magassága is változzon (ugyanannyival).
- Dockolás
- Anchor
- FillPanel
- Splitter
- Sticky container
Egy Windows Forms űrlapra egy Panel objektumot helyezünk olyan módon, hogy a Panel és az űrlap szélei között marad szabad hely. Milyen technikával lehet legegyszerűbben elérni, hogy az űrlap magasságának növelésével a Panel magassága is változzon (ugyanannyival).
- Dockolás
- Anchor
- FillPanel
- Splitter
- Sticky container
Egy alkalmazásban a CommHandler osztály felelős egy külső rendszer adott szolgáltatásainak eléréséért. A CommHandler osztályt a felhasználói/kliensei egy interfész típusként (ICommHandler) kapják meg és használják. Egy új, jogosultság hozzáférést ellenőrző objektumot szeretnénk beékelni az osztály és a felhasználói közé olyan módon, hogy az osztályt és a felhasználóit a lehető legkevésbé érintse a változtatás. Mely tervezési mintát a legcélszerűbb választani a probléma megoldására?
- Factory method
- Abstract method
- Composite
- Proxy
- Observer
- Adapter
- Singleton
- Strategy
Egy alkalmazásban a több helyről is használt SecurityService osztály biztonsági szempontból érzékeny műveleteket végez. A kliens osztályok a SecurityService-t már egy az általa implementált ISecurityService interfészen keresztül érik el. Mely tervezési minta segítségével tudjuk az osztály és a klienseinek módosítása nélkül megoldani, hogy az egyes kérések kiszolgálása csak bizonyos jogosultsági körrel rendelkező kliens kód esetében történjen meg?
- Abstract Factory
- Abstract Method
- Adapter
- Composite
- Factory Method
- Memento
- Observer
- Prototype
- Proxy
- Singleton
- Strategy
Egy kilens objektum egy nagy erőforrásigényű objektumot használ (pl. Egy szövegszerkesztő nagyméretű képeket), a nagy erőforrásigényű objektumra, azonban nincs mindig szükség, igény esetén tölthető be. A betöltés előtt is szükség van azonban a nagy erőforrásigényű objektum bizonyos paramétereire. Mely tervezési mintát használná a probléma megoldására?
- Factory method
- Abstract method
- Composite
- Proxy
- Observer
- Adapter
- Singleton
- Strategy
Egy kiszolgáló alkalmazás esetében praktikusabb külön szálakat indítani az egyes kérések kiszolgálásához, mert a thread-pool szálak elfogyhatnak. Jelölje meg a helyes választ!
- Csak az első tagmondat igaz (+ -)
- Csak a második tagmondat igaz (- +)
- Mindkét tagmondat igaz, de a következtetés hamis (+ + -)
- Mindkét tagmondat igaz és a következtetés is helyes (+ + +)
- Egyik tagmondat sem igaz (- -)
Egy online bolt alkalmazásban a feladata egy a bevásárlókosár lezárását (szállítási cím kezelése, megerősítés, fizetés) kezelő osztály megvalósítása. Az osztálynak több fizetési módot (pl. Bankkártya, átutalás) kell támogatnia, és könnyen kiterjeszthetőnek kell lennie újabb fizetési módokkal. Mely tervezési mintát alkalmazná a megvalósítás során?
- Abstract Factory
- Abstract Method
- Adapter
- Composite
- Factory Method
- Memento
- Observer
- Prototype
- Proxy
- Singleton
- Strategy
Feladatunk egy olyan alkalmazás megtervezése, mely szervezetek osztályainak hierarchiáját képes egy diagramon megjeleníteni. Egy szervezeten belül lehetnek osztályok és személyek, az osztályokon belül további osztályok és személyek, tetszőleges mélységben. Mely tervezési mintát a legcélszerűbb választani a probléma modellezésére?
- Prototype
- Memento
- Observer
- Strategy
- Singleton
- Proxy
- Factory method
- Composite
- Abstract factory
Jelölje meg a helyes választ!
- A Proxy tervezési mintában a Proxy objektum egy transzparens csomagoló az eredeti objektum körül, mely szabályozza az eredeti objektumhoz való hozzáférést.
- A Proxy tervezési minta adatok cache-elésére használt a web-en, a kérések gyorsabb kiszolgálása érdekében.
- A Proxy tervezési minta adatok cache-elésére használt bármilyen kontextusban, a kérések gyorsabb kiszolgálása érdekében.
- A Proxy tervezési mintában a kliens objektum az eredeti kiszolgáló helyett egy proxy objektumra mutat, és amikor szükséges, a mutatót az eredeti kiszolgáló objektumra állítjuk, hogy az szolgálja ki a kliens kéréseit
- A Proxy tervezési minta lehetővé teszi az egymással nem kompatibilis objektumok együttműködését.
Mi a Composite tervezési minta elsődleges célja?
- Lehetővé teszi objektumok tetszőleges mélységben való egymásba ágyazását, és támogatja ezen objektumok fastruktúrába szervezését.
- Lehetővé teszi, hogy bizonyos műveletek tekintetében ne kelljen az elemi és összetett objektumokat megkülönböztetni, és támogatja ezen objektumok fastruktúrába szervezését.
- Lehetővé teszi, hogy összetett objektumokat úgy kezeljünk, hogy könnyű legyen új összetett objektumtípust bevezetni (a meglevőket ne legyen szükséges módosítani), valamint támogatja az objektumok fastruktúrába szervezését.
- Lehetővé teszi elemi és összetett objektumok közös heterogén kollekcióban való tárolását, valamint támogatja ezen objektumok fastruktúrába szervezését.
Mi a tervezési minták egyik elsődleges célja?
- Adott funckionalitás legkevesebb kóddal történő megvalósítása.
- A kód újrafelhasználhatóságának elősegítése.
- Adott üzleti problémák jól érthető modellezése.
- Jobb teljesítményű kód írása.
- A valóság minél érthetőbb modellezése.
Mi az Observer tervezési minta elsődleges célja? Jelölje meg a helyes választ!
- Lehetővé teszi a felhasználói eseményekre való reagálást.
- Lehetővé teszi, hogy egy dokumentum nézetei értesüljenek a dokumentum változásáról.
- Lehetővé teszi objektumok könnyű megfigyelését az objektumok becsomagolásával.
- Lehetővé teszi, hogy objektumok (közvetve) úgy értesítsék egymást állapotuk megváltozásáról, hogy nem tudnak egymásról.
- Lehetővé teszi algoritmusok folyamatának (progress) monitorozását.
Ön egy alkalmazást fejleszt .NET platformra. Az alkalmazást a felhasználók a saját gépeiken több példányban is mepróbálhatják elindítani (akár teljesen egyidőben). Az ön feladata annak megoldása, hogy az alkalmazás csak egy példányban fusson: vagyis, ha az alkalmazásból úgy indít új példányt a felhasználó, hogy már fut, akkor az újabb példány ezt detektálja, és azonnal lépjen ki (fejezze be a futását). Mit használna az alábbiak közül ennek megvalósításához?
- Lock
- Synchronized
- StartCoordinator
- AutoResetEvent
- Mutex
- Singleton
- ThreadPool