online kép - Fájl  tubefájl feltöltés file feltöltés - adja hozzá a fájlokat onlinefedezze fel a legújabb online dokumentumokKapcsolat
  
 

Letöltheto dokumentumok, programok, törvények, tervezetek, javaslatok, egyéb hasznos információk, receptek - Fájl kiterjesztések - fajltube.com

Online dokumentumok - kep
  
felso sarok kategória jobb felso sarok
 

Biológia állatok Fizikai Földrajz Kémia Matematika Növénytan Számítógépes
Filozófia
Gazdaság
Gyógyszer
Irodalom
Menedzsment
Receptek
Vegyes

 
bal also sarok   jobb also sarok
felso sarok   jobb felso sarok
 




































 
bal also sarok   jobb also sarok

A .NET

számítógépes





felso sarok

egyéb tételek

jobb felso sarok
 
Tablazatok szerkesztési műveletei
SSADM Strukturalt rendszerelemzési és -tervezési módszer
A videokonferencia mint prezentació
Windows XP (magyar) új kapcsolat létrehozasa
Cisco VoIP termékek
A MESTERSÉGES INTELLIGENCIA MÓDSZEREI A PROGRAMOZHATÓ AUTOMATÁKBAN
Processzusok
A levelezőprogramok alapszolgaltatasai: (OUTLOOK EXPRESS)
Windows 7 telepítése USB tarolóról
IP labor A ping parancs végrehajtasi üzeneteinek elfogasa
 
bal also sarok   jobb also sarok

A .NET


A jegyzet első fejezetében röviden áttekintjük a .NET technológia megjelenésének körülményeit.

1.1 Történeti áttekintés


A számítógép és a programozás az elmúlt évtizedekben egymástól elválaszthatatlan fogalmakká váltak. Ma már, ha számítógépekrő 828d36i l beszélünk, szinte természetszerűen gondolunk a programokra is, hiszen a gépet ezek segítségével használhatjuk saját céljaink elérésére. A számítástechnika látványos fejlődését elsősorban a hardver-technológia fejlődésén vesszük észre: a számítógépek robbanásszerű elterjedése az élet minden területén, a felhasználási lehetőségek, teljesítmények növekedése - párhuzamosan a méretek (és árak!) csökkenésével - leginkább a "vason" vehető észre. A technikai fejlődést természetesen a felhasználói igények növekedése kíséri; a számítógép képességeinek minél jobb kihasználásához egyre több, jobb (és relatíve) olcsóbb programokra van szükség. A programok és ezen belül a programozási technológia is hasonló fejlődésen ment keresztül, mint amit a hardver területén láttunk: ma már egészen másképp és más eszközökkel készítjük az alkalmazásokat, mint korábban.



A számítástechnika fejlődésének - általában jól ismert - "diadalútja" azonban nem mentes a kátyúktól; a terület világméretű, s így világméretű a munka és a verseny is. Számítógépes termékek tízezrei láttak és látnak napvilágot nap mint nap; felhasználói programok, rendszerprogramok, operációs rendszerek - beleértve ebbe az Internet szülte igényeket és az ehhez kapcsolódó megoldásokat is. A számítógépek és a programok között eligazodni ma már szinte külön tudomány. Egyszóval: a 90-es évek közepére a számítástechnika is elérte a más területeken sokszor megtapasztalt állapotot - a káoszt. Ezt a káoszt nemcsak az eszközök (hardver és szoftver) mérhetetlen mennyisége és fajtája, hanem elsősorban inkompatibilitásuk okozta/okozza. Az inkompatibilitás monopolhelyzetben előnyt jelent a versenytársakkal szemben; ugyanakkor problémákat is okoz, amit meg kell oldani - a megoldásnak pedig költségei vannak. Fenntartani vagy megszüntetni? Úgy tűnik, a mérleg billeg, de még nem billen egyik oldalra sem. Megszüntetéséhez ma még elképzelhetetlen szintű együttműködésre lenne szükség az egymástól független, nagy gyártó/fejlesztő cégek között. Fenntartásához viszont nem kell sokat tenni.

A platformok sokfélesége a programok készítésénél is sok nehézséget okoz. Amellett, hogy nagyon sokféle, egymással természetesen nem kompatibilis programozási nyelvvel, adatbáziskezelővel, kommunikácós rendszerrel, stb. kell dolgozni, a különböző platformokra fordított alkalmazások nem ugyanúgy működnek - tehát esetleg más-más verziókat is kell előállítani.

Mint tudjuk, a Microsoft egyeduralkodó kívánt (kíván?) lenni az operációs rendszerek piacán, s ez bár eddig nem sikerült, de a torta igen nagy szeletét megszerezte. Az elmúlt 15 évben a fejlesztői piacon is komoly részesedést ért el (Visual Studio, Access, OLE DB, ADO, COM technológia, stb). A versenytársak természetesen ennek igyekeztek gátat vetni, és ennek egyik eszköze lehet a program-fejlesztő eszközök terén uralkodó káosz megszüntetése: "a" programozási nyelv és eszköz megalkotása. Az ezzel készített programok minden géptípuson, minden operációs rendszer alatt egységesen működnek. Ha a programokat nem kell egy adott operációs rendszer alá készíteni, a felhasználóknak sem kell ahhoz az operációs rendszerhez ragaszkodniuk. Az első komoly ilyen jellegű támadás a Sun Microsystems-től indult, a fegyver neve pedig Java volt.

A Java alapkoncepció egyszerű: egy adott programozási nyelven megírt program, amely minden platformon (változtatás nélkül!) futtatható. A Java gyorsan sikert aratott, és nemcsak több-platformossága miatt: a nyelv tervezői következetesen érvényesítették benne az objektumorientált elveket; a Java olyan OO képességekkel rendelkezik, amelyek a Microsoft COM technológiájából hiányoztak: statikus metódusok, metódusok felülírása (overloading), parametrikus konstruktorok, öröklés és strukturált kivételkezelés. A Java egy gazdag osztálykönyvtárat bocsát a fejlesztő rendelkezésére, amit objektumorientált API rutinokkal lehet elérni. A Java alkalmazások platform-független alakra lesznek lefordítva és futásukról platform-függő virtuális gép gondoskodik.

Ez lépéskényszerbe hozta a Microsoft-ot; 1997-ben a PDC-n (Programmers Developers Conference) a Microsoft elsősorban a COM és COM+ technológia jövőjével foglalkozott és megfogalmazta az új követelményeket: nyelvsemlegesség, alaptípusok, objektumorientáltság. Ez a döntés végeredménybe egy új technológiához vezetett, és egyúttal a COM technológia végét is jelentette. Ez utóbbi amúgy sem felelt már meg a modern, többrétegű, webalapú alkalmazások kihívásának. A Microsoft tanult a Java sikeréből és megértette, hogy eljött az idő, amikor nem csak megjelenésükben, de fejlesztésükben is a win- és a webalkalmazások közti különbséget meg kell szüntetni, vagy legalábbis a minimálisra csökkenteni.

Az ezredfordulóra megszületett az új technológia, a .NET, és megjelent egy új, .NET alapú programozási nyelv, a C#.

Kiegészítésként mellékeljük az alábbi, 2000 szeptember 1.-én kelt cikket, Wylie Wong és Mike Ricciuti tollából:

A Microsoft ma bejelentette egy új, Java-típusú programozási nyelv szabványosítási eljárását. Az új nyelvtől azt remélik, hogy a Java alternatívája lesz.

Mint korábban már jeleztük, a Microsoft az új, C#-nak nevezett programozási nyelvet az ECMA (European Computer Manufacturers Association) által ipari szabvánnyá kívánja tenni. A CNET News.com szerint a C# nyelvvel a Microsoft olyan eszközt kíván a programozók rendelkezésére bocsátani, amely könnyebbé és gyorsabbá teszi számukra a WEB-szolgáltatások elérését illetve készítését.

Elemzők szerint a C# a Java-éhoz hasonló jellemzőkkel rendelkezik. A Java (Sun, IBM, Oracle) olyan programozási nyelv, mellyel platform-független alkalmazások készíthetők. Ez keresztezi a Microsoft eddigi koncepcióját, mely szerint a programozók készítsenek csak Windows-programokat.

A Microsoft azt reméli, hogy a C# nyelv használata világszerte elterjed, s ez arra késztet más gyártókat, hogy olyan C#-változatokat állítsanak elő, amelyek más platformokon is működnek. "Együttműködünk az ECMA-val, tehát a C# az eszközök és platformok széles körén elérhető lesz," mondta Tony Goodhew, a Microsoft Visual C++ menedzsere. "Úgy gondoljuk, hogy a C# lesz az az általánosan használt nyelv, amellyel a fejlesztők a jövőben XML, Web-szolgáltatás alapú alkalmazásaikat készíteni fogják. Nincs más nyelv, amely erre képes lenne."

A Sun a Java-val hasonló célokat tűzött maga elé, de félve attól, hogy elveszti a Java feletti ellenőrzést, elállt ettől. Attól tartottak, hogy a Java általános szabvánnyá tétele más cégeket erős pozícióba emelhetne a nyelv fejlesztése terén.

A Sun sokat bírálta a Microsoft-ot a fejlesztési információk eltitkolásáért. Most a Microsoft startégiát váltott:"A C# szabványosításával nem akarják a Sun-t idegesíteni, de lehet ilyen hatása," mondta egy elemző, Darryl Plummer. "A Sun-nal ellentétben, tisztességesen kívánunk játszani - ezért szabványosítjuk a C#-ot".

Habár sokban hasonlít a Java-ra, Microsoft-vezetők szerint a C# nem a Java-ra adott válasz. De Plummer szerint lehetetlen nem összemérni a két nyelvet. "A Microsoft nem akarja a két nyelvet versenyeztetni, de ez elkerülhetetlen," mondta.

A C# a CLR (Common Language Runtime, futtató-környezet) technológiát használja, amely egy általános motor: lehetővé teszi azt, hogy egy programot különböző nyelveken írt modulokból állítsanak össze. A Microsoft erről nem nyilatkozott.

Plummer szerint a C# a C++ és Visual Basic programozók számára nyújt alternatívát. "Lelassíthatja a fejlesztők Java-ra való áttérését, de hatása magára a Java-ra minimális lesz," mondta. "A legtöbb Java fejlesztő nem használ Microsoft fejlesztő-eszközöket."

Bár a Microsoft még nem hozta nyilvánosságra a C# összes jellegzetességét, azt ígérik, hogy az új nyelv megtartja a C++ hatékonyságát, de sokkal könnyebb lesz használni. A C# többplatformos - mint a Java, - de más alapokon nyugszik. A Java alapelve: egyszer megírjuk, mindenhol futtajuk. A C# programok Windows alatt futnak, de kommunikálhatnak bármely más futó programmal, XML és SOAP segítségével.

"A C# nyelv több problémára próbál választ adni," mondta Bill Dunlap, a Microsoft termék-menedzsere. "A Java ugyanazt a kódot kívánja más-más platformokon futtatni. Nekünk nem ez a célunk. Mi integrálni kívánjuk a különböző rendszereket, egységesítjük a jelenlegi kódokat."

A Sun nem reagált a kijelentésre.

Komplikálja a két cég közti harcot a hosszú ideje tartó bírósági per a Javat illetően. A Sun 1997-ben beperelte a Microsoft-ot azon a címen, hogy olyan technológiát épít Java alapú termékeibe, hogy azok csak Windows platformon működjenek - akadályozva ezzel a Java alapvető elvének érvényesülését. A per miatt a Microsoft nem tudja Java alapú termékeit frissíteni.



A C# a C és C++ nyelvek keveréke, de túlmutat azokon: olyan szolgáltatásokat is tartalmaz, amelyek a Java-ra jellemzők (biztonság, automatikus szemétgyűjtés). A C# év végétől része lesz a Microsoft Visual Studiónak.

A C# bejelentésének lehet még egy következménye: Vajon a Microsoft folytatja-e saját Java fejlesztő eszközének, a Visual J++-nak a forgamazását? A Visual J++ fejlesztése (a per miatt) hónapok óta áll, nem is szerepel a Visual Studio eszközlistáján.

1.2 Mi is az a .NET?


A .NET (olvasata: "dot net") a Microsoft új technológiája, mely lehetővé teszi alkalmazások, programok és szolgáltatások nyelv-, rendszer- és platformsemleges felépítését. Nyelvsemlegesség alatt nem csak azt értjük, hogy a kitűzött feladat megoldását bármelyik .NET-nyelvvel elérhetjük, hanem azt is, hogy különböző nyelveken kódolt modulokat zökkenőmentesen összekapcsolhatunk egy .NET alkalmazáson belül. A .NET rendszersemlegessége biztosítja a .NET alkalmazások futását minden olyan rendszer alatt, mely rendelkezik a .NET futási környezetével (ez pedig elvileg minden rendszer részére elkészíthető). A platformsemlegesség alatt pedig azt értjük, hogy például egy Web alkalmazás esetében mindegy, hogy egy PC-böngészőben, egy mobil készüléken vagy egy PDA-n hagyjuk futni, az eredmény lényegében ugyanaz.

C# alkalmazásokat nem csak Windows környezetben futtathatunk. Már létezik a Windows-tól független .NET megvalósítás is: a Mono egy nyílt forráskódú platform, amely rendelkezik C# fordítóval és CLR-rel. Működik Linux, UNIX, Mac OS, és persze Windows alatt is.

Tehát mint látjuk, a .NET célja részben megegyezik a Java-éval - de egy bizonyos szempontból el is tér attól. A Java esetében ugyanis egy adott programozási nyelven készült program fut különböző platformokon; a .NET ennél tágabb lehetőséget biztosít: a program megírható bármely, a .NET lehetőségeit használó programozási nyelven, sőt ugyanazon program komponensei is megírhatók más-más nyelven, majd az alkalmazás összeépíthető. Az alapmegoldás ezután megint hasonló a Java-éhoz: platformfüggő futtató-rendszerek működtetik a platform-független alkalmazást.

1.3 A .Net, mint új platform jellegzetességei , erősségei


Az alábbiakban vázlatszerűen felsoroljuk a .NET rendszer fő jellemzőit.

A RENDSZER ÖSSZETEVŐI: A .NET több részből áll. Ide tartozik a .NET Framework munkakeret sok-sok osztálykönyvtárral, melyek a .NET-nyelvek rendelkezésére állnak (CLR: Common Language Runtime - futtató, .NET FrameWork Classes, ASP.NET és ADO.NET - az ASP és az ADO utódai, Windows Forms - desktop windows alkalmazások fejlesztéséhez); fordítók (compilers) és más eszközök, mint a disassembler. Ide soroljuk továbbá az ADO.NET-et, az ADO, valamit az ASP.NET-et, az ASP utódját. Ide számíthatjuk a .NET legelső alkalmazását is, a Visual Studio .NET-et.

PROGRAMOZÁS: A .NET alapú programozás nem követeli meg a Visual Studio .NET telepítését a gépünkre. Csak a .NET Framework SDK-ra van szükségünk, amit viszont ingyen letölthetünk (lásd Internetes helyek című fejezet) - pillanatnyilag az 1.0 és az 1.1 verzió között választhatunk. A .NET Framework SDK a dokumentáció mellett a parancssori fordítókat is tartalmazza, így elvileg akár a Jegyzettömbbel is készíthetünk .NET alkalmazásokat. Természetesen a Visual Studio .NET (vagy egy hasonló, akár ingyenes) fejlesztőrendszer használata sokkal kényelmesebb.

PROGRAMOZÁSI NYELVEK:A .NET elvileg független a programozási nyelvtől. Eredetileg Visual Basic .NET, Visual C++ és az új C# ( c sharp) nyelveket támogatta. Most több mint tíz nyelven lehet .NET programokat írni és a .NET-re szabott nyelvek száma állandóan nő (pl. Delphi 8 for .NET).

OSZTÁLYOK: A .NET osztályok a Win32 API osztályokat helyettesítik, pillanatnyilag mintegy 95%-ban. A .NET a COM és részben a COM+ komponenseket is helyettesíti, ugyanakkor egy magas interkompatibilitás arról gondoskodik, hogy a COM/COM+ komponensek beágyazhatók legyenek a .NET alkalmazásokba és fordítva, a COM/COM+ alkalmazások .NET modulokat használhassanak. Az osztályok nemcsak a rendszerspecifikus műveletekre, de az adatbázisok, XML-állományok kezelésére és a hálózat programozására is használhatók.

EGYSÉGES ADATTÍPUSOK: A .NET a Common Type System (CTS) segítségével egységes adattípuskészletet határoz meg, melyet mindegyik .NET-alapú programnyelv köteles használni. A CTS adattípusokon kívül a .NET-nyelvek sajátos adattípusokat is alkalmazhatnak, ezek használata viszont szigorúan szabályozott.

AUTOMATIKUS SZEMÉTGYŰJTÉS: A .NET komponenseket a felhasználói program nem távolítja el a memóriából (bár megteheti), viszont a futtató-környezet egy általános szemétgyűjtővel (Garbage Collector) rendelkezik, mely szabályos időközökben gondoskodik a már nem szükséges erőforrások felszabadításáról.

FORDÍTÁS: A .NET fordítók egy köztes kódot hoznak létre, az Intermediate Language-et (IL). Ezt nevezzük kezelt (managed) kódnak: a lefordított file tartalmaz minden olyan adatot, amelyre a futtató környezetnek (Common Language Runtime, CLR) szüksége van. Közvetlenül az alkalmazás végrehajtása előtt a köztes kód gépi kódra lesz átalakítva, ezért a .NET alkalmazások platformfüggetlenek.

VÉGREHAJTÁS: A .NET támogatja az alkalmazások és komponensek egyidejű végrehajtását. Ez azt jelenti, hogy ugyanannak a komponensnek vagy alkalmazásnak különböző verziói ugyanabban az időben, és ha szükséges, ugyanabban a folyamatban (process) hajthatók végre anélkül, hogy ez konfliktushoz vezetne. Ezzel megkezdődött a DLL-szisztéma felszámolása is. A .NET, programozási nyelvtől függetlenül, egy és ugyanazt a futtató-környezetet használja.



VIRTUÁLIS GÉP: A .NET "szíve" egy virtuális gép, mely a kezelt (managed) kódot végrehajtja.

PROGRAMOK TELEPÍTÉSE/ELTÁVOLÍTÁSA: A .NET alkalmazások és komponensek önmeghatározók. Az alkalmazások és komponensek mindig magukkal hordják a metaadatokat, melyeket a futtató-környezet mindig lekérdezhet. Éppen ezért egy .NET alkalmazást nem kell regisztrálni. Elegendő, ha az alkalmazás futásához szükséges adatokat és állományokat egy mappába másoljuk és így adjuk át annak a gépnek, amelyikre az alkalmazást telepíteni kívánjuk. A "telepítés" ismét olyan egyszerű, mint a DOS-korszakban: másolás és törlés. Mivel az alkalmazás "tudja", milyen adatokra van szüksége, és a futáskörnyezet biztosítja ezeket az adatokat, nem állhatnak elő konfliktusok, ha ugyanaz az állomány több verzióban is rendelkezésre áll.


Korábban említettük, hogy a .NET programok fejlesztéséhez elvileg nincs szükség speciális fejlesztőeszközökre. Ugyanakkor az ilyen eszközök használata igen megkönnyíti a programok írását, mivel sok munkát levesz a programozó válláról. Jelen jegyzetben a C# nyelvvel foglalkozunk - a következő fejezetben majd áttekintünk három olyan eszközt, melyek segítségével C# alkalmazások készíthetők.

1.4 Változások a fejlesztési tevékenységben


Amióta a gépi kódnál magasabb szintű programozási nyelveket használunk forrásprogramjaink elkészítéséhez, a programok elkészítése és a számítógép általi végrehajtásuk közé be kell iktatni egy köztes műveletet: a forrásprogram gépi kódra való fordítását. Az alapvető klasszikus megoldások az interpreter és a compiler típusú futtató/fordító programok voltak. Mindkét megoldásnak megvoltak, illetve megvannak az előnyei és a hátrányai:

Interpreter alkalmazása esetén az interpreter programnak ott kellett lennie az illető számítógépen; a futás közbeni fordítás általában lassabb működést eredményezett; a program viszont hordozható a különböző platformok között, hiszen ugyanazt a forrásprogramot különböző interpreterek különböző operációs rendszereken futtathatják (klasszikus példája ennek a Java nyelv).

Compiler esetén a fordítás és futás időben elválik egymástól, a számítógépen a korábban gépi kódra lefordított programokat (exe) futtatjuk; ezek gyorsak, könnyen telepíthetők és hordozhatók - de csak azon a platformon használhatók, amelyre a fordítás készült.


Azt is észre kell vennünk, hogy a számítástechnika, a számítógépek globális alkalmazása a felhasználás oldaláról igen sokféle igénnyel, követelménnyel lép fel az alkalmazások fejlesztőivel szemben. Ma egy fejlesztő, amikor egy alkalmazást készít, két nagy követelmény-csomaggal néz szembe:

  1. Megoldás-készítési készség: az adott szakterületi probléma lehető legteljesebb, ugyanakkor leggazdaságosabb megoldása, és
  2. Programozás-technikai felkészültség: a számítógép-program tényleges elkészítésének képessége (ráadásul a mai követelményeknek megfelelően).

A programozás-technikai oldalt tekintve már évek óta tanúi vagyunk a változásnak: megjelentek (és nagy népszerűségnek örvendenek) az integrált fejlesztő eszközök - Visual Basic, Delphi, Java környezetek, Visual C++, Visual Studio, stb. Ezek az eszközök lehetővé tették, hogy (általában) rendszerprogramozói ismeretek nélkül is képesek legyünk programokat készíteni olyan bonyolult rendszerekhez is, mint például a Windows. Ezekkel az eszközökkel olyan programokat készítünk, melyek kódjának nagyobb részét nemcsak, hogy nem mi írtuk, hanem még azt sem tudjuk, hogy ez a rész hogyan működik! Pontosabban: nem kell tudnunk.

A fejlesztői világ polarizálódása felgyorsult és jól láthatóvá vált az irány: vannak olyanok, akik mélyben, a háttérben dolgoznak, kutatnak és a programozás-technikai megoldásokat (pl. integrált fejlesztő eszközök, fordítóprogramok, stb) szállítják, és vannak, akik ezek felhasználásával a felhasználói területek számára megoldásokat, végfelhasználói alkalmazásokat készítenek. Ez utóbbiaknak egyre általánosabb, könnyebben használható, a mély technikai részleteket elrejtő, az emberi gondolkodást jobban kiszolgáló eszközökre van szükségük: sem idejük, sem felkészültségük nincs mély programozás-technológiai kérdéseken rágódni, platformok különbözőségeivel vesződni - épp elég nekik a szakterületi probléma, melynek megoldása a maga nemében szintén igen bonyolult szokott lenni.

A .NET környezet - egyéb célok mellett - a fentiekben felsorolt előnyök-hátrányok közül megpróbálja kiküszöbölni a hátrányokat, és egyesíteni az előnyöket, s közben igyekszik választ (vagy megoldási alapot) adni a "fejlesztés fejlődése" miatt felmerült kihívásokra is.

1.4.1 A .NET fejlesztőkörnyezet lényege


A .NET rendszert azzal a céllal hozták létre, hogy támogassa az alkalmazások operációs rendszertől független fejlesztését. Ez a cél egyben egy újabb nagy "szabványosítást", egységesítést indukál: mivel a .NET környezetben minden program ugyanazokat az eszközöket használja, oly mindegy, hogy az algoritmusokat, erőforrásigényléseket milyen nyelven fogalmazták meg; sőt, lehet, hogy ez oda vezet: minek használjunk többféle programozási nyelvet, mikor mindegyik ugyanoda vezet?

A .NET egy menedzselt (felügyelt) futtatási környezet nyújt számunkra, melyben - úgy tűnik - leegyszerűsödik a fejlesztés, el fognak tűnni a programozási nyelvek különbözőségei. A középpontban pedig a menedzselt (felügyelt) kód áll, melyet a közös futtató környezet - CLR (Common Language Runtime) működtet.



A program (technikai) elkészítésének kulcsa az adott nyelvhez tartozó fordító, amely a forrásprogramot köztes kódra (MSIL, Microsoft Intermediate Language) fordítja. Ezt az állományt a JIT (Just In Time) platformfüggő fordítók a futtatás során fordítják le az adott operációs rendszernek megfelelő kódra.

Ezzel lehetővé válik az operációs rendszertől független fordítás (a CLR, a Common Language Runtime minden platformra egységes), és megvalósulhat a különböző programnyelvek közti együttműködés és átjárhatóság. A .NET környezet a CLS (Common Language Specification) által meghatározott típusokkal dolgozik, és szigorú típusellenőrzést végez a CTS (Common Type System) alapján. Tehát bármilyen nyelven is írtuk meg programunkat, a köztes kód már azonos.

A köztes kódot a CLR futtatja, felügyeli. Ennek keretében:

- fordítja/futtatja a kódot,

- gondoskodik az automatikus szemétgyűjtésről,

- egységes kivételkezelést biztosít,

- folyamatos biztonsági ellenőrzést végez.


A .NET keretrendszer összetevői:


.1 ábra: A .NET FrameWork összetevői

1.4.2 A Common Language Runtime


A felügyelt kódot a Common Language Runtime (CLR) környezet futtatja. Minden CLR-rel kompatibilis fejlesztőeszköz a forráskódot a szabványos Intermediate Language (IL) nyelvre fordítja le, így az egyes programozási nyelvek különbözőségei a futás idejére eltűnnek. Az IL kód (köztes kód) futtatásához szükség van a JIT-re (Just In Time compiler). A JIT a köztes kódból az adott rendszeren futtatható kódot készít (nem interpreter!). A különböző platformokra különböző JIT fordítók készíthetők.


A CLR összetétele:

Com Marshaller

A Com Marshaller teszi lehetővé, hogy a korábbi COM komponensek továbbra is használhatók legyenek a .NET alkalmazásokban.


Kivételkezelő

A programok futásuk alatt sokszor találkoznak váratlan helyzetekkel, illetve hibákkal. Ezeket az eseteket le kell tudni kezelni, valamilyen speciális vagy általános kód futtatásával reagálni kell rájuk. A különböző programozási nyelvek különböző megoldásokat alkalmaznak, a .NET környezet viszont egységes megoldást kínál. Az alapmegoldás szerint a kivételeket kivételkezelő programblokkokban kell elkapni; a kivételek felmerülésekor pedig objektumok keletkeznek, melyek a kivétellel kapcsolatos információkat hordozzák - ezeket a kivétel-feldolgozó blokkokban használhatjuk fel. A különböző típusú kivételekhez, hibákhoz különböző típusú (osztályú) objektumok tartoznak - a kivételosztályok az Exception osztályból leszármazva egész hierarchiát alkotnak.


Biztonság-kezelő

A kód futását felügyeli, ellenőrzi, hogy egy adott kód milyen jogosultságokkal rendelkezik az adott gépen. Az egyes kódokhoz attribútumok kapcsolódnak, ezekhez biztonsági megszorításokat lehet rendelni: ilyen például az eredet-nyilvántartás (megadható, hogy adott forrásból származó (pl. webről letöltött) programok milyen műveleteket végezhetnek és milyeneket nem a gépen.


Típusellenőrző

A típusellenőrző futási idejű típusellenőrzést biztosít. A típusellenőrző futás közben, a programban levő metaadatok alapján figyeli az egyes műveletek típushelyességét (minden művelet csak meghatározott, hozzárendelt adattípusokkal végezhető).


Szálkezelő

Biztosítja a szálkezelést (thread) illetve a szinkronizálást. Támogatja a többszálú futtatást, és felügyeli ennek helyes végrehajtását.


Szemétgyűjtő

Biztosítja a nem használt objektumok automatikus megszüntetését.


Osztálykönyvtár

A .NET alapú fejlesztést jelenleg mintegy 4500, névterekbe rendezett, előre gyártott osztály támogatja. Ezeket az osztályokat minden .NET nyelvben el lehet érni és fel lehet használni.

1.4.3 A szakterületi fejlesztés változásai


A .NET megoldás önmagában csak az egyik oldalról közelít a fejlesztés korábban említett kettősségéhez. A végfelhasználók számára készített rendszerek fejlesztésének terén nagy változások készülődnek; az új, modell-vezérelt fejlesztés a hagyományos forrásprogram írás helyett a valamilyen szabványos modellező nyelven elkészített megoldásra koncentrál, amely szöveges és grafikus formában kerül rögzítésre. Az így elkészített modellek fordítóprogramjai állítják elő a futtatható programot: a tendencia pl. a Borland új, .NET környezetre készült Delphi és C#Builder Architect fejlesztő-eszközeiben is megtapasztalható már.


Találat: 1481







Felhasználási feltételek