160 likes | 256 Views
Microsoft.NET környezet. Hernyák Zoltán Web: http://dragon.ektf.hu/aroan , E-Mail: aroan@aries.ektf.hu Magasszintű Programozási Nyelvek I. Eszterházy Károly Főiskola Számítástudományi tsz http://aries.ektf.hu. 1. Microsoft.NET környezet. A .NET filozófiája
E N D
Microsoft.NET környezet Hernyák Zoltán Web: http://dragon.ektf.hu/aroan, E-Mail: aroan@aries.ektf.hu Magasszintű Programozási Nyelvek I. Eszterházy Károly Főiskola Számítástudományi tsz http://aries.ektf.hu 1
Microsoft.NET környezet • A .NET filozófiája • Virtuális gépi kódú nyelv használata • Egységesített típusrendszer • Szabványok használata • OOP mint alapvető tervezési és fejlesztési eszköz erőteljes használata 2
Microsoft.NET környezet A .NET felépítése 3
Microsoft.NET környezet • Operating System: • A legalsó réteg a mikroprocesszor • Rögtön fölötte az operációs rendszer • Ez a két réteg megszabja, mit lehet maximum kihozni a számítógépből • Minden műveletet velük, rajtuk keresztül lehet csak megvalósítani • Az operációs rendszer megkerülhető (a vírusok meg is teszik) 4
Microsoft.NET környezet • Common Language Runtime (CLR) • A virtuális gépi kódú nyelv definíciója • A processzor-szimulátornak ezt a nyelvet kell megértenie • A benne található elemi utasításokat az adott operációs rendszer és processzor segítségével végre kell tudni hajtani 5
Microsoft.NET környezet • Common Language Runtime (CLR) • Ez a gépi kódú nyelv erősen típusos • Az utasítások végrehajtását feltételekhez (pl jogosultságokhoz) köthetik • Pl: file megnyitás csak akkor végrehajtható, ha a programnak van rá joga (és nem a felhasználónak, aki nevében fut a program!) • Pl: hálózati kapcsolat (port megnyitása) is ilyen korlátozás lehet! 6
Microsoft.NET környezet • Base Class Library (BCL) • Általános célú eljárások és függvények gyűjteménye • Alacsony szintű, és rendkívül magas szintű eljárások és függvények • OOP stílusban megírva • Ez megkönnyíti a használhatóságot, és a továbbfejleszthetőséget 7
Microsoft.NET környezet • Base Class Library (BCL) • Ez része a .NET környezetnek • Nem programozási nyelvhez tartozik, hanem magához a környezethez • A .NET programozó számára ez az operációs rendszer szolgáltatásait helyettesíti (A.P.I.) 8
Microsoft.NET környezet • Base Class Library (BCL) • Rajta keresztül van lehetőség hozzáférni az operációs rendszer szolgáltatásaihoz is Ez nem „helyes” magatartás, mert így a program nem lesz operációs rendszer független • Sok szempontból bőségesebb szolgáltatást nyújt, pótolja az operációs rendszer esetleg hiányzó szolgáltatásait 9
Microsoft.NET környezet • ADO.NET és XML • A réteg két fele a külső, programon kívüli perzisztens adattárolás lehetőségeit tartalmazza • Az ADO.NET az adatbázis-kezelő szolgáltatásokat rejti (pl SQL) • Az XML nyelv is adatok tárolását és lekérdezését támogatja az XML szintaxis szerint (spec. szerkezetű text file) 10
Microsoft.NET környezet • WINDOWS FORMS • Hagyományos grafikus felhasználói felületű interaktív programok fejlesztésének lehetősége (GUI) • Menüvel, nyomógombokkal, legördülő listákkal, … 11
Microsoft.NET környezet • ASP.NET, WEB FORMS, MOBILE INTERNET TOOLKIT • HTML alapú, böngészőn keresztül futtatható felhasználói felülettel rendelkező Web alkalmazások fejlesztésének lehetősége • COOKIE és SESSION kezelése • Mobil telefonokon is olvasható és használható tartalmat állít elő 12
Microsoft.NET környezet • WEB SERVICES • HTTP protokollon keresztüli távoli eljáráshívás (RPC) használata • Paraméterek átadása, átvétele • SOAP protokoll használata 13
Microsoft.NET környezet • COMMON LANGUAGE SPECIFICATION (CLS) • Különböző programozási nyelvek közötti különbségek elrejtése (string ábrázolás, tömbindexelés, alapvető változótípusok (int, bool, char, …) definiálása) • Automatikus élettartam menedzselés • Önleíró objektumok • … 14
Microsoft.NET környezet • Programozási nyelvek • .NET-ben mindegy milyen nyelven programozunk. C#, VB, J#, C++, … • Az adott nyelvnek meg kell felelnie a CLR előírásainak • Az adott programozási nyelv fordítóprogramja nem gépi kódra fordít, hanem .NET virtuális kódra • Minden programozási nyelv egyenlő lehetőségekkel rendelkezik (BCL) • Csak szintaktikai különbségek vannak 15
Microsoft.NET környezet • A C# nyelv története • 2000 közepén jelent meg • Java és C++ alapok • Nincsenek benne pointerek • OOP nyelv, vagyis csak OOP módon lehet benne programozni • Minden változó egy osztály része kell legyen (nem támogatja a hagyományos, független, globális változókat) • Minden függvény egy osztály része kell legyen (nincsenek benne hagyományos, osztálytól független globális függvények)