PPT 4. Komponensek. Dr. Sipos Marianna. PPT 4. Komponensek. A felügyelt kód NET

Hasonló dokumentumok
.NET Microsoft.Net Framework

Objektumorientált programozás. Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

.NET (Dot-NET) #1 (Bevezetés)

Vizuális, eseményvezérelt programozás X. V 1.0

Széchenyi István Egyetem

A Microsoft Visual Studio 2005 fejlesztőkörnyezet

Megosztott szerelvények

Vizuális, eseményvezérelt programozás XI.

Dr. Sipos Marianna ZMNE BJKMK

OPENCV TELEPÍTÉSE SZÁMÍTÓGÉPES LÁTÁS ÉS KÉPFELDOLGOZÁS. Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

A szerzõrõl... xi Bevezetés... xiii

Adatbázis és szoftverfejlesztés elmélet

I. fejezet Hello Világ! Programozás tankönyv. II. Fejezet. Helló Világ! avagy a Miért?-ek elkezdődnek

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Mobil Informatikai Rendszerek

.NET alkalmazások telepítése

Delphi programozás I.

Tesztelés és hibajavítás Microsoft Visual Studio 2005 fejlesztőkörnyezetben

4. Gyakorlat: Csoportházirend beállítások

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7

Elemi alkalmazások fejlesztése I.

Visual Basic 2005 Express Edition A VISUAL STUDIO HASZNÁLATA NEM LEKTORÁLT VÁLTOZAT

C#, OOP. Osztályok tervezése C#-ban

Miről lesz szó? Setup Project készítése. Tulajdonságok. 1. Készítsünk egy setup project alkalmazást egy már elkészített, lefordított programhoz.

OOP és UML Áttekintés

GPU Lab. 5. fejezet. A C++ fordítási modellje. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc

1. Origin telepítése. A telepítő első képernyőjén kattintson a Next gombra:

Mobil Informatikai Rendszerek

Elemi alkalmazások fejlesztése IV. Adatbázis-kezelés ActiveX vezérlıkkel - 1

Adatbázis-kezelés ODBC driverrel

ElitBÉR bérrendszer telepítése hálózatos környezetben

Webes alkalmazások fejlesztése

Konzolalkalmazások gyors tesztelése

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

Segédlet kriptográfiai szolgáltatást beállító szoftverhez (CSPChanger)

Szoftver technológia. Build systems. Cserép Máté ELTE Informatikai Kar 2019.

Tartalomjegyzék. Általános Információ! 2. Felhasználói dokumentáció! 3. Feladat! 3. Környezet! 3. Használat! 3. Bemenet! 3. Példa!

Hardver és szoftver követelmények

Objektumorientált Programozás V.

Java programozási nyelv 5. rész Osztályok III.

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program

Programozás 2., I. kötet Az objektumorientált paradigma alapjai

A szoftverfejlesztés eszközei

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.

1. Ismerkedés a Hyper-V-vel, virtuális gépek telepítése és konfigurálása

Objektum Orientált Programozás V.

Bevezetés a Programozásba II 4. előadás. Adattípusok hordozhatósága

A CAPICOM ActiveX komponens telepítésének és használatának leírása Windows 7 operációs rendszer és Internet Explorer 9 verziójú böngésző esetén

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

C programozás. 1 óra Bevezetés

A szoftverfejlesztés eszközei

Több platform egy kódbázis Tanulságok a Tresorittól. Budai Péter, vezető fejlesztő

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Assembly nyelv x86-os processzorokhoz

Programzás I gyakorlat

Fejlesztési tapasztalatok multifunkciós tananyagok előállításával kapcsolatban Nagy Sándor

Programozási nyelvek JAVA EA+GY 1. gyakolat

JAVA ALKALMAZÁSOK 1. ELŐADÁS 2/22/2017 1

Vizuális és eseményvezérelt programozás BMF NIK

Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0

C++ fejlesztés az ECLIPSE környezetben

Hardver modellezés SystemC-vel és SDL grafikus könyvtárral Visual Stúdió alatt

Objektumorientált programozás C# nyelven

Már megismert fogalmak áttekintése

TestLine - zsoldosbeatesztje-01 Minta feladatsor

Tanúsítvány és kulcspár biztonsági mentése/telepítése

Az eszközpaletta. Felsı sor balról jobbra. Második sor balról jobbra 1/7

Java II. I A Java programozási nyelv alapelemei

Programozás alapjai Bevezetés

Java II. I A Java programozási nyelv alapelemei

Dropbox - online fájltárolás és megosztás

1.1 Szakdolgozat témája A Program célja A használt technológiák ismertetése A program megtervezése...

Eseményvezérelt alkalmazások

Microsoft SQL Server telepítése

TestLine ae01tesztje-01 Minta feladatsor

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

A Számítógépes alapismeretek témakör oktatása. Dr. Nyéki Lajos 2019

Az operációs rendszerek fejlődése

ÁNYK53. Az Általános nyomtatványkitöltő (ÁNYK), a személyi jövedelemadó (SZJA) bevallás és kitöltési útmutató együttes telepítése

Programozási technológia I.

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

MMTS AZONNALI PIAC KERESKEDÉSI MUNKAÁLLOMÁS SZOFTVER

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

Interfészek. PPT 2007/2008 tavasz.

DCWatch fejlesztői HUB: dchub://4242.hu:1411 Elite Hub, ahol megnézheted működés közben a BOT-ot: dchub://elite.4242.hu:4242

MŰSZAKI KÖVETELMÉNYEK, A KÖRKERESŐ SZOFTVER SPECIFIKÁCIÓJA, KÖLTSÉGVETÉS. A) Műszaki követelmények

Telepítési útmutató. 1.1 lépés : Telepítés típusa - ablak :

Tanúsítványkérelem készítése, tanúsítvány telepítése Microsoft Internet Information szerveren

Bevezetés. Dr. Iványi Péter

Programozási alapismeretek 4.

iphone és Android két jó barát...

Ismerjük meg a Monót!

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

1. fejezet Bevezetés a web programozásába (Balássy György munkája) Az internet működése... 11

CIB Internet Bank asztali alkalmazás Hasznos tippek a telepítéshez és a használathoz Windows operációs rendszer esetén

Átírás:

.NET Dr. Sipos Marianna El regyártott infrastruktúra az internetes alkalmazásokban jelentkez problémák megoldására David S. Platt A.NET egy operációsrendszer szint futtatókörnyezet. 2007. BMF-NIK-SZTI Sipos: 4. Komponenesek 2.NET CLR (Common Language Runtime) felügyelt kód Nyelvek közös futtatórendszere. Fejleszt eszközök Pl. Visual Studio.NET Forráskód MSIL Környezet specifikus futtatható kód (natív kód) Automatikus szemétgy jtés (GC) CTS (Common Type System) Futtatás s el tti fordító Just-in in-time compiler.net futtatókörnyezet Felügyelt (managed) kódot írunk. Köztes kódra fordítjuk minden nyelvb l. MSIL (Microsoft Intermmediate Language) JIT (Just In Time) compiler fordítja helyben. A CLR (Common Language Runtime) futtatókörnyezet a.net része. Op. Rendszer független futtatás (.NET kell). Különböz nyelvek kényelmes együttm ködése. Automatikus szemétgy jtés. BMF-NIK-SZTI Sipos: 4. Komponenesek 3 BMF-NIK-SZTI Sipos: 4. Komponenesek 4 Mono Nyílt forráskódú.net kompatibilis ECMA standard C# fordítóval CLR-el Fut: UNIX Linux Mac OS X Windows operációs rendszeren A felügyelt kód Dr. Sipos Marianna BMF NIK BMF-NIK-SZTI Sipos: 4. Komponenesek 5 2007. 2007. 03. 02. 1

Logikai csoportosítás, fizikai csoportosítás Egy solution több project Névterek Egy névtér több assemblybe fordulhat. Egy assembly több névteret tartalmazhat. A fizikai szétválasztást más szempontok döntik el. Melyik gépre kell telepíteni Több gépre kel-e egy részét telepíteni Gyakrabban frissítend részek Méret és sebesség Több más assembly használja. A Visual Studióban nem kell minden projekthez külön fejleszt i felületet létrehozni. Egy megoldás tartalmazhat töb projektet is. Ezzel lehet vé teszi a projektek párhuzamos módosítását és azonnali frissítését a módosított változatoknak. A VS-ben egy projektb l egy assembly lesz. Csak parancssorból valósítható a több részb l álló assembly. BMF-NIK-SZTI Sipos: 4. Komponenesek 7 BMF-NIK-SZTI Sipos: 4. Komponenesek 8 Debug / Release fordítás PE file (Portable Executable file) Debug fordítás tartalmazza a nyomkövetéshez szükséges információkat. Ezt használjuk jellemz en a fejlesztés során. Start Debugging-al futtatunk (F5). A Consol Application-t szoktuk Start Without Debugginggal (Ctrl F5) futtatni, hogy ne kelljen folyton az ablak bezáródása ellen védekeznünk. A Release fordítás nem tartalmaz nyomkövetési információkat, így kisebb kód. Ezt használjuk a készterméknél is. (A kisebb kód más-más memóriahasználatot jelent, tehát nagyobb projekt esetén legalább a mérföldköveknél érdemes tesztelni) További saját magunk által definiált fordítási módokat hozhatunk létre. Definition: A végrehajtható fájlok formátuma valamint olyan fájloké, melyeket összeszerkesztünk, hogy végrehajtható fájlt képezzenek. Ez a fájl két részb l áll..net Framework Glossary A Metaadatokat tartalmazó un. Manifest részb l, És a köztes kódot tartalmazó a project neve által meghatározott részb l. A PE fájl az Visual Studio Tools-ban található parancssorból indítható ILDASM (Intermediate Language Disassembler) segédprogramból vizsgálható. A native.net Framework assemblies mint az Mscorlib.dll vizsgálatát is lehet vé teszi az ILDASM. BMF-NIK-SZTI Sipos: 4. Komponenesek 9 BMF-NIK-SZTI Sipos: 4. Komponenesek 10 Manifest A Kepviselo PE fájl az ILDASM-ben BMF-NIK-SZTI Sipos: 4. Komponenesek 11 BMF-NIK-SZTI Sipos: 4. Komponenesek 12 2007. 03. 02. 2

A KonzolraIr metódus köztes kódja System.dll az ILDASM-ben BMF-NIK-SZTI Sipos: 4. Komponenesek 13 BMF-NIK-SZTI Sipos: 4. Komponenesek 14 A szerelvény Az assemly (szerelvény) fogalma Az assembly az alkalmazás kódját és er forrásait tartalmazó exe vagy dll fájl(ok) logikai gy jteménye. David S. Platt Bemutatkozik a Microsoft.NET A szerelvény egy vagy több azonos könyvtárban található fájl együttese, melyeket közös verzióinformációval látunk el, és együtt telepítünk. Definíció: Egy fájl akkor és csak akkor assembly, ha menedzselt, és tartalmaz egy assembly belépési pontot. A.NET Framework alkalmazások alapvet épít kövei az assemblyk. A Visual Studio egy PE formátumú assemblyt készít.exe vagy.dll kiterjesztéssel. Assembly több modulfájlból: Parancssorból készíthetünk modulfájlt, ami nem tartalmaz manifesztet csc /t:module fájl.cs. A manifeszt nélküli fájlt a CLR (Common Language Runtime) nem tudja futtatni. Az Assembly Linkerrel (AL.exe) összeszerkesztve ket. al <module name> <module name>... /main:<method name> /out:<file name> /target:<assembly file type> MSDN súgó, Building a Multifile Assembly.NET Framework Developer s Guide Az assembly csak akkor tölt ik be, ha szükség van rá, tehát nagy projektek esetén ez az er forrás-menedzselés hatékony eszköze lehet. BMF-NIK-SZTI Sipos: 4. Komponenesek 15 BMF-NIK-SZTI Sipos: 4. Komponenesek 16 Privát és osztott szerelvény Minden szerelvénynek van Privát szerelvény (private assembly) Csak a vele azonos könyvtárból érhet Csak egy alkalmazás hivatkozhat rá. Ez az alapértelmezés. el. Neve Verzió száma Kultúra információja (opcionális) Osztott szerelvény (shared assembly) Több alkalmazás is használhatja. A GAC-ban (global assembly cash) tároljuk. Windows/assembly alkönyvtára Er s névvel (strong name) látjuk el. Ez az osztott assembly azonosítója. Az er s név az osztott assembly azonosítója. Név, verziószám, kultúra információn kívül: egy nyilvános kulcsú azonosítóból és digitális aláírásból áll. (public key token) BMF-NIK-SZTI Sipos: 4. Komponenesek 17 BMF-NIK-SZTI Sipos: 4. Komponenesek 18 2007. 03. 02. 3

Privát és osztott assembly II. Natív kód Solution Explorer / References alatt Az assembly properties ablakában: Privát assembly esetén Strong Name: False Copy Local: True Osztott szerelvénynél: Strong Name: True Copy Local: False // jellemz en Total Commanderben Beállítások/Általános beállítások / Képerny C:\Windows\assembly GAC (Global Assembly Cash) GAC_32 GAC_MSIL NativeImages_v2.050727_32 A Studio csak köztes kódot generál / Látszik a rendszerfájl Natív kód parancssorból állítható el az ngen.exe segítségével BMF-NIK-SZTI Sipos: 4. Komponenesek 19 BMF-NIK-SZTI Sipos: 4. Komponenesek 20 GAC az explorerben GAC és Native image a total commanderben Global Assembly Cash BMF-NIK-SZTI Sipos: 4. Komponenesek 21 BMF-NIK-SZTI Sipos: 4. Komponenesek 22 A belépési pont (entry point).exe: Main() Verzionálás A kompatibilitási verzió négy számból áll. major version f verziószám minor version másodlagos verziószám build number fordítás sorszám revision revízió szám A build number és a revision *-al helyettesítve automatikusan generálódik. View / Headers / PE Optional Headers (exe, dll) BMF-NIK-SZTI Sipos: 4. Komponenesek 23 BMF-NIK-SZTI Sipos: 4. Komponenesek 24 2007. 03. 02. 4

Assembly információk a projektben Internal láthatóságok Solution Explorer AssemblyInfo.cs Verzió információ beállítása: [assembly: AssemblyVersion("1.0.*")] ILDASM-ben.assembly Munk {.ver 1:0:1790:33266 } internal: csak az assemlyb l érhet el. B vebb mint a private, sz kebb mint a public. protectedhez képest azonos szerelvényben b vebb, mert nem kell utódnak lenni a hozzáféréshez, különböz assebmlyben sz kebb, mert az utód a protectedhez hozzáfér, az internalhoz nem. protected internal: a szerelvényb l és az utódosztályokból is hozzáférhetünk. BMF-NIK-SZTI Sipos: 4. Komponenesek 25 BMF-NIK-SZTI Sipos: 4. Komponenesek 26 AAssembly Internal, protected és protected internal tagok honnét érhet k el? B internal Tag protected Tag BMF-NIK-SZTI Sipos: 4. Komponenesek 27 D A internal Tag protected Tag private Tag C A priv ate-on kív ül mindhez BAssembly E Következ Operátor overloading lépések Átdefiniálható operátorok Precedencia Típuskonverziós operátorok, Implicit és explicit konverziós operátorok. Kivételkezelés, kezeletlen kivétel Kivétel dobása és elkapása Kivételek egymásba ágyazása A.NET osztálykönzyvtár által biztosított kivételek és kezelésük. BMF-NIK-SZTI Sipos: 4. Komponenesek 28 Idézetek Dijkstra-tól a strukturált programozás atyjától "Computer Science is no more about computers than astronomy is about telescopes." "Do only what only you can do "The question of whether computers can think is like the question of whether submarines can swim." "Object-oriented programming is an exceptionally bad idea which could only have originated in California." "Simplicity is prerequisite for reliability." "Elegance is not a dispensable luxury but a factor that decides between success and failure." BMF-NIK-SZTI Sipos: 4. Komponenesek 29 2007. 03. 02. 5