PDF letöltése
1) Magyarázza el, hogy mi a Java Design Pattern?
A tervezési minta nyelvfüggetlen stratégia a közös objektum-orientált tervezési probléma megoldására. Leírja, hogyan kell osztályokat felépíteni egy adott követelménynek való megfelelés érdekében.
2) Magyarázza el, mi a kreatív tervezési minták és a gyári minta?
Kreatív tervezési minta : Ez a minta annak meghatározására és leírására szolgál, hogy az objektumok hogyan jönnek létre az osztály példányosítási idején.
Gyári minta : A gyári mintával objektumot lehet létrehozni anélkül, hogy a kliensnek kitennék a létrehozási logikát, és egy újonnan létrehozott objektumra hivatkoznak egy közös felület segítségével.
3) Melyik tervezési mintával lehet elérni a gyűjtemény objektum elemeit szekvenciálisan?
Az iterátor mintát arra használjuk, hogy elérjük a gyűjtemény objektum elemeinek szekvenciális elérését.
4) Ha a szolgáltatás lokátor mintáját használják?
Amikor különféle szolgáltatásokat szeretnénk megkeresni a JNDI használatával, akkor a szolgáltatás lokátor mintáját használjuk.
5) Említse meg, hányféleképpen hozhat létre egyedi mintát?
Egyetlen objektum létrehozásához két híres módszer létezik
- Lusta rakodás
- Szívesen töltődik
6) Megemlíted, melyik mintát használjuk, amikor elválasztanunk kell egy absztrakciót a megvalósításától?
Amikor elválasztani akarjuk az absztrakciót a megvalósítástól, hogy kettő egymástól függetlenül változhasson, akkor hídmintát használunk.
7) Megemlíti, melyik tervezési minta hasznos új funkciók hozzáadásához egy meglévő objektumhoz?
A díszítő minta lehetővé teszi a felhasználó számára, hogy új funkciót adjon egy meglévő objektumhoz anélkül, hogy megváltoztatná annak szerkezetét.
8) Magyarázza el, hogyan hozhat létre Singleton osztályt Java-ban?
Ez két lépésből áll,
- Először tegye a konstruktort priváttá, hogy ne lehessen új operátort használni az osztály példányosítására
- Ha nem null érték, akkor adja vissza az objektum objektumát, különben hozza létre az objektumot, és ugyanezt adja vissza egy metódus segítségével.
9) Lehetséges-e Java-ba szálas szingulettet írni?
A szál biztonságos szingletonjának Java-ba történő írásához többféle módszer létezik, például az osztálybetöltés során inicializált statikus szingulett példány használatával, a szingulett kettős ellenőrzéssel történő lezárásával. A Java Enum a legegyszerűbb módszer a szálbiztos egyedi létrehozására.
10) Említse meg, hogyan kell leírni a tervezési mintát?
A tervezési minta leírásához a következő dolgokra kell ügyelni
- Minta neve és osztályozása
- Probléma és megoldás
- Következmények: A variációval és a nyelvtől függő alternatívákkal is foglalkozni kell
- Ismerje a felhasználásokat: Határozza meg a valós rendszerek felhasználását és hatékonyságát
11) Megemlíti, hogy miért nem engedélyezett a statikus módszerből a Java statikus változóhoz való hozzáférése?
A statikus kontextusból nem férhet hozzá a nem statikus adatokhoz, mert a nem statikus változó egy objektum adott példányához van társítva, míg a statikus egyetlen példányhoz sem.
12) Megemlíted, melyik minta hasznos, ha az egyik lövés során több attribútummal rendelkező adatokat kell átadni az ügyfélről a szerverre?
Az objektumátvitel-minta akkor hasznos, ha az egyik lövés során több attribútummal rendelkező adatokat kell átadni az ügyféltől a szerverhez.
13) Nevezzen meg néhány DAO minta entitást?
A DAO egyes elemei közé tartozik,
- Adatelérési objektum konkrét osztálya
- Adatelérési objektum interfész
- Modellobjektum vagy értékobjektum
14) Megemlíti, hogy mikor használható az elfogó minta?
Elfogó mintát használunk, ha valamilyen előzetes vagy utólagos feldolgozást kell végrehajtanunk az alkalmazás kérésével vagy válaszával.
15) Megemlíti, mikor kell gyári mintát használni?
Gyári minta használható,
- Amikor egy osztály nem tudja, mely objektumosztályt kell létrehozni
- Amikor az osztály megadja az alkategóriákat a létrehozandó objektumok megadásához
- A programozási nyelvben használhat gyári mintát, ahol a megadott adatoktól függően létre kell hoznia valamelyik alosztály bármelyikének objektumát
16) Magyarázza el egyedülálló mintában, hogy jobb-e az egész getinstance () metódust szinkronizálni, vagy elég-e csak a kritikus szakasz? Melyik előnyösebb?
Az egész getinstance () metódus szinkronizálása költséges, és csak a Singleton példány inicializálása során szükséges, hogy leállítsuk a Singleton másik példányának létrehozását. Ezért jobb, ha csak a kritikus szakaszokat szinkronizáljuk, és nem a teljes módszert.
17) Említsd meg, hányféleképpen írhatsz singleton osztályt Java-ban?
Négyféleképpen írhatunk szingulett osztályt Java-ban
- Singleton nyilvános statikus végső mezővel inicializálva az osztály betöltése során
- A statikus beágyazott osztály által generált Singleton, amelyet Singleton tartó mintának is neveznek
- Singleton a get instance () metódus szinkronizálásával
- Java 5-ből az Enums használatával
18) Magyarázza el, hogyan lehet megakadályozni a szingleton egy másik példányának létrehozását a clone () módszerrel?
A szingulett egy másik példányának létrehozásának megakadályozása az a legelőnyösebb módszer, ha nem hajtja végre a Cloneable felületet, és ha csak kivételt dob a clone () metódus alól, „nem létrehozhat egy szingulett osztály klónját”.
19) Mondja meg, mi a különbség a „dobás” és a „dobás” között?
A „Throw” kulcsszó kifejezetten kivételként dobás, míg a „Throws” az ellenőrzött kivételek kezelésére szolgál, hogy a fordító újra intimálja a kivételeket. A dobásokat fel kell használni a módszer definíciójában, és a metódus meghívása mellett, amely ellenőrzött kivételeket vet fel.
20) Említse meg, hogy a JDK mely osztályai használnak szingulett mintát?
A Java.lang.Runtime osztályok szingulett mintát használnak a JDK-ban.
21) Említse meg, mi a korlátja a szingulett minta használatának?
A szingulett minta biztosítja, hogy egy osztálynak csak egy példánya legyen, és hogy globális hozzáférési pontot nyújtson hozzá. Ugyanakkor ez korlátozássá válik, mivel egy alkalmazás legtöbb osztályának több példányt kell létrehoznia.
22) Mondja meg, mi a különbség a VO és a JDO között?
A JDO és a VO közötti különbség az, hogy a JDO egy tartós technológia, amely versenyez az entitásbabokkal a vállalati alkalmazások fejlesztésében. Lehetővé teszi POJO (sima régi java objektumok) létrehozását és az adatbázisba történő megőrzésüket.
Míg a VO az értékobjektumokat jelenti, egy elvont tervezési mintát használ az entitásbabokkal együtt, a jdbc és esetleg a JDO is a vállalati alkalmazásokban gyakran előforduló elszigeteltségi és tranzakciós problémák leküzdésére.