Please enable JavaScript.
Coggle requires JavaScript to display documents.
Futtatókörnyezetek - Coggle Diagram
Futtatókörnyezetek
Futtatókörnyezet
- "virtual machine"
- ua az alkalmazás futhat különböző OS-en
- felügyelheti a kódot és az adatot
- alk - fk - Os
- wrapper - Os API felett
- JVM / CLR (.NET)
Jellemzők
Hordozhatóság
- IL - Intermediate Language
- köztes nyelv
- n*m helyett n+m fordító
- n nyelv m paltform
- nyelv - IL - runtime(natív nyelv)
Kompaktság
- IL kód kompaktabb lehet
- Köztes optimalizált forma
Hatékonyság
- Köztes kódról natívra a lehető legkésőbbi pillanatban/ végleges környezetben
- Addig: statisztikák, optimalizál
Biztonság
- Adatell: szemétgy, nincs mem sziv.
- Kód ell: futás közbeni hibák azonnali megfogása
-
Rugalmasság
- metaprograming
- reflection
- dynamic code generation
- serialization
- type browsing
.NET
- magasabb szintű .NET komp - BCL - CLR
- CLR - Common LAnguage Runtime - közös nyelvi futtatókörnyezet | GC,JIT fordító
- BCL - Base Class Library - alapkönyvtárak (string, file, szálak ...
- NuGet csomagok - kiegészítő könyvtár
- Nagyon rámentek a teljesítményre
Változatok
.NET Framework
- Sokáig létezett nem fejlsztik
- Windows paltform
- 4.8.1 legfrissebb
.NET Core
- Keresztpaltformos implementáció (Win,Lin,Mac)
- Szűkebb funkcionalitás, de kinőtte magát
- 3.1
.NET
- .NET Core továbbfejlesztése
- .NET 9
- jövő
Mono
- Kersztpaltformos
- .NET Framework és Core között funkciókban
- Mellékszál
.NET Standard
- Nem impelemntáció
- Szabvány a változatok közötti forráskód hordozhatósága érdekében
- Nem jövő
CLR
- Közös nyelvi futtatókörnyezet
- Tervezési szempontok:
- Egyszerű alkalmazásfejlesztés
- Több programnyelv (CLS)
- Típus kompatibilitás (CTS)
- Robosztusság és biztonság - IL,GC, JIT
- Egyszerűbb telepítés és üzemeltetés
Egyszerűbb fejlesztés
Objektumorientált környezet
- A futtatórendszer típusrendszere obj or
- Egyszere öröklés
- Tetszőleges számú interfész imp
Keretrendszer beépített osztályai
- Hierarchikus - osztályok névterekbe szervezettek
- Örökölhetők, testreszabhatóak
Egységes, gazdag típusrendszer
Komponens alapú fejlesztés támogatás
- A tulajdonságok, események, attrb-ok nyelvi szinten jelennek meg
- Gazdag design-time funkcionalitás
Zökkenőmentes integráció korábbi tech-kal
- Win32 API elérhető: Plnvoke
- COM,COM+ Enterprise Services
Nyelvek
- .NET nyelvfüggetlen
- Hozzáférhető minden nyelv számára
- Különböző nyelven írt osztályok egymásból örökölhetnek
- A nyelvekbevezethetnek plusz szintiktikai elemeker, de IL-re lefordíthatónak kell lenni
- CLS - Common Language Specification
- Új tetsz. nyelvvel bővíthető
- Compiler platform: C# F# Managed C++
C#
- C/C++ csalés első valódi OO tagja
- nincsenek mutatók, csak referenciák
- Mindent tud, amit egy .NET-es kódban érdemes lehet megvalósítani
- Minden ob, primitív típusokhoz sem kell varázsolni
- .NET és a VS nagy része C#ban készült
- Tisztább, mint a C++
- Újabb, mint a Java - színesebb
- Egyszerű
- Nagyon progresszíven fejlődik 13v 2025
- Tömörebb kód
- Jobb teljesítményű kód
- Funkcioanális proframozást támogató nyelvi elemek az OO mellett
Szerelvények - Assembly
- Telepítés egysége: .dll vagy .exe
- Ez van benne: IL kód, Metaadatok a szerelvényről, Erőforrások, Metaadatok a .NET osztályokról
- Minden alkalmazás szerelvényekből épül fel
- Egy névtér több szerelvényben is lehet
- Egy szerelvényben több névtér lehet
- Hivatkozhat más szerelvényre
Szerelvényszintű metaadat inf
- Név
- Verzió: major, minor, build number, revision
- Szerelvény referenciák: a hivatkozott szerelvényekről: név, verziószám, nyilvános kulcs részlet
Verziókezelés
-Major: ha változik, álatalában inkomaptibilis
- Minor: Kompatibilités szándék megvolt, csak bővült a funkció
- Bn: Leggyakrabban kompatibilisek
- Revision n: kompatibilis csak hibajavítás
- Verzió megadása: Projektfájlban vagy Assembly Version .NET attrb-mal
Szerelvény referenciák
- A.exe használja egy B.dll-ben levő típusokat
- A-ból akkor használhatók B típusai, ha A refernciát tesz B-re
- Referencia csakegyírányú lehet
- Nem alakulhat ki kör függőség
- Így többkomponensű alkalmazásokat tudunk építeni - projektenként eltérő lehet a nyelv
Könyvtárhivatkozások
- Projekt referencia
- A.exe/A.dll projektben projekt referencia B.dll projektjére
- Szerelvény referencia
- A.exe projektjében szerelvény referencia B.dll-re - akkor, ha A.exe fejlesztésekor nincs meg a B.dll-hez tartozó forráskód
- NuGer referencia
- NuGer egy package manager .NET-hez
- Egyprojekt hivatkozhat teszt számú NuGet csomagra
- Benne több dll is lehet, mind használható
-
-