Valaki el tudja magyarázni egy kezdőnek érthetően, hogy mi az a wrapper és mikor használjuk?
Csomagoló osztály. Azt jelenti, hogy a kívánt függvényeket nem közvetlenül hívjuk meg, hanem a wrapper-t hívjuk meg, és az intézi.
Több eset is lehetséges. Például egyik lehetséges felhasználása, hogy java-ban nincs console osztály, nehézkes a konzolról beolvasás sok kezdő számára, ezért egy wrapper osztály lehet egy külön készített console osztály, ami az InputStreamReader segítségével és konvertálásokkal könnyűvé teszi a használatot. Egy Console.ReadInt() sokkal könnyebb mint Integer.ParseInt(new InputStreamReader(new BufferedReader(System.in)).readLine()).
Másik lehetséges felhasználás, hogy absztrakciós réteget hozunk létre egy változó/többféle osztály és a felhasználás közé.
Azaz például van egy könyvtár, amiben view.Update a neve kirajzolónak, egy másikban Screen.Draw, és ezek külső könyvtárak, így nem tudjuk interfészhez csatolni, akkor létrehozunk egy Wrapper osztályt, azt hívogatjuk, és az majd szétválogatja hogy kinek mit kell.
Megjegyzés: NEM 100% hogy ez a wrapper, réges régen tanultam, lehet hogy totál hülyeséget mondtam. De tudomásom szerint nagyjából ilyesmi.
Olyan programrészlet, amely egy másik, általában alacsonyabb szintű programrészre épülve valósít meg magasabb szintű funkciókat, a technikai részletek elfedése által egyszerűbbé téve annak használatát.
Egy példa. Van egy managed nyelv pl C#. Van egy külső könyvtár páldául az opengl (alacsonyabbszintű programrész). Az opengl natív kód, nincs c# változata. Itt jön képbe a wrapper.
A wrapperben meg van írva c#ban az opengl-es osztályok interfacek. külső dll hívások... stb Azonban ez érdemi logikát nem tartalmaz. Ez csak egyfajta modell, amin keresztül tudunk kommunikálni a natív opengl-el. Az értelme annyi, hogy miután már ezt a wrappert használod, nem kell csúnya külső dll hívásokkal (technikai részlet) "teleszemetelni" a kódot. Hanem a kódod csak az érdemi logikát fogja tartalmazni és olvasható marad.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!