Mi az a .NET-keretrendszer? Magyarázd el Architecture & Components

⚡ Okos összefoglaló

A .NET keretrendszer egy Microsoft platform építéshez és futtatáshoz Windows asztali, webes és szolgáltatásalkalmazásokat. Egyetlen felügyelt fejlesztői környezetbe foglalja a Common Language Runtime-ot, egy megosztott osztálykönyvtárat, valamint olyan nyelveket, mint a C# és a VB.NET.

  • 🧩 Meghatározás: A .NET keretrendszer egy Windowseszközök, nyelvek és könyvtárak egyetlen halmaza asztali és webes alkalmazásokhoz.
  • 🏛️ Architectúra: A Common Language Runtime felügyelt kódot hajt végre, míg az osztálykönyvtárak újrafelhasználható, használatra kész funkciókat biztosítanak.
  • 🇧🇷 Alapkomponensek: A CLR, az osztálykönyvtár és a támogatott nyelvek együttműködve fordítják és futtatják az alkalmazásokat.
  • 🛡️ Tervezési alapelvek: Az interoperabilitás, a hordozhatóság, a biztonság, az automatikus memóriakezelés és az egyszerűsített telepítés alakítja a keretrendszert.
  • 🌐 Alkalmazástípusok: A WinForms asztali alkalmazásokat fejleszt, az ASP.Net weboldalakat működtet, az ADO.Net pedig adatbázisokhoz kapcsolódik.
  • 🤖 Mesterséges intelligencia relevanciája: Az ML.NET és az ONNX Runtime gépi tanulást biztosít, míg a GitHub Copilot felgyorsítja a .NET kódolást.

Mi az a .NET keretrendszer?

Mi az a .Net Framework?

. Net Framework által kifejlesztett szoftverfejlesztő platform Microsoft építéshez és futáshoz Windows alkalmazások. A .Net keretrendszer fejlesztői eszközökből, programozási nyelvekből és könyvtárakból áll az asztali és webes alkalmazások létrehozásához. Weboldalak, webszolgáltatások és játékok készítésére is használják.

A .Net keretrendszer célja olyan alkalmazások létrehozása volt, amelyek a következőn futnak: Windows Felület. A .Net keretrendszer első verziója 2002-ben jelent meg. A verzió neve .Net framework 1.0. A Microsoft A .Net keretrendszer azóta hosszú utat tett meg, és a legújabb verzió a .Net Framework 4.8.1.

Az Microsoft A .Net keretrendszerrel mindkettő létrehozható — Forma alapú és a Web-alapú alkalmazásokat. Webes szolgáltatások .Net keretrendszerrel is fejleszthető.

A keretrendszer számos programozási nyelvet is támogat, mint például a Visual Basic és a C#. Így a fejlesztők kiválaszthatják és kiválaszthatják a nyelvet a kívánt alkalmazás fejlesztéséhez. Ebben a fejezetben megismerheti a .Net keretrendszer néhány alapját.

. Net Framework Architectúra

. Net Framework Architectúra egy programozási modell a .Net platformhoz, amely végrehajtási környezetet és különböző programozási nyelvekkel való integrációt biztosít a különféle programok egyszerű fejlesztéséhez és telepítéséhez. Windows és asztali alkalmazások. Osztálykönyvtárakból és újrafelhasználható komponensekből áll.

A .Net keretrendszer alapvető architektúrája az alábbiakban látható.

. Net Framework Architecture diagram

. Net Framework Architecture diagram

.NET-összetevők

A .Net keretrendszer architektúrája a következő főbb komponenseken alapul:

1. Common Language Runtime

Az Common Language Runtime (CLR) a .Net architektúra végrehajtó motorja, amelyen a .Net programok futnak.

A CLR a következő főbb jellemzőkkel rendelkezik:

kivétel kezelése — A kivételek olyan hibák, amelyek az alkalmazás futtatásakor fordulnak elő. A kivételekre példák:

  • Ha egy alkalmazás megpróbál megnyitni egy fájlt a helyi gépen, de a fájl nincs jelen.
  • Ha az alkalmazás megpróbál lekérni néhány rekordot a adatbázis, de az adatbázishoz való kapcsolat nem érvényes.

Szemétgyüjtés — A szemétszállítás az a folyamat, amelynek során eltávolítjuk a nem kívánt erőforrásokat, amikor azokra már nincs szükség. A szemétszállításra példák:

  • Egy fájlkezelő, amelyre már nincs szükség. Ha az alkalmazás befejezte az összes műveletet egy fájlon, akkor előfordulhat, hogy a fájlkezelőre már nincs szükség.
  • Az adatbázis-kapcsolat már nem szükséges. Ha az alkalmazás befejezte az összes műveletet az adatbázison, akkor előfordulhat, hogy az adatbázis-kapcsolatra már nincs szükség.

Különböző programozási nyelvekkel való munka – Ahogy egy korábbi szakaszban említettük, egy fejlesztő számos .Net programozási nyelven fejleszthet alkalmazást.

  1. Nyelv — Az első szint maga a programozási nyelv; a leggyakoribbak a VB.Net és a C#.
  2. fordítóprogram — Minden programozási nyelvhez tartozik egy külön fordító. Tehát a VB.Net nyelv mögött egy külön VB.Net fordító áll majd. Hasonlóképpen, a C#-hoz is lesz egy külön fordító.
  3. Közös nyelv futási idő — Ez a .Net utolsó rétege, amelyen bármilyen nyelven fejlesztett .Net program futtatható. programozási nyelvA következő fordítóprogram elküldi a programot a CLR rétegnek a .Net alkalmazás futtatásához.

.NET-összetevők

2. Osztálykönyvtár

A .NET-keretrendszer szabványos osztálykönyvtárakat tartalmaz. Az osztálykönyvtár olyan metódusok és függvények gyűjteménye, amelyek az alapvető célokra használhatók.

Például létezik egy osztálykönyvtár, amely metódusokat tartalmaz az összes fájlszintű művelet kezelésére. Tehát létezik egy metódus, amellyel szöveget lehet olvasni egy fájlból. Hasonlóképpen létezik egy metódus, amellyel szöveget lehet írni egy fájlba.

A legtöbb metódus fel van osztva vagy a Rendszerre.* vagy Microsoft.* névterek. (A csillag * csak hivatkozást jelent az összes olyan metódusra, amely a Rendszer vagy a Microsoft névtér.)

A névtér a metódusok logikai elkülönítése, amely egy név alatt csoportosítja a kapcsolódó osztályokat.

3. Nyelvek

A .Net keretrendszerben fejleszthető alkalmazások típusait nagyjából a következő kategóriákba soroljuk.

WinForms — Ezt fejlesztésre használjákping Űrlap alapú alkalmazások, amelyek végfelhasználói gépen futnának. A Jegyzettömb egy példa a kliens alapú alkalmazásokra.

ASP.Net — Ezt fejlesztésre használjákping webes alkalmazások, amelyek bármilyen böngészőn, például Internet Exploreren, Chrome-on vagy más böngészőn futtathatók. Firefox.

  • A webes alkalmazást egy szerveren dolgoznák fel, amelyre telepítve lenne az Internet Information Services.
  • Az Internet Information Services, vagyis az IIS egy Microsoft komponens, amelyet egy végrehajtásához használnak Asp.Net alkalmazás.
  • A végrehajtás eredménye ezután elküldésre kerül a kliens gépekre, a kimenet pedig megjelenik a böngészőben.

ADO.Net — Ezt a technológiát olyan alkalmazások fejlesztésére használják, amelyek adatbázisokkal való interakcióra szolgálnak, például Oracle or Microsoft SQL Szerver.

Microsoft mindig biztosítja, hogy a .Net keretrendszerek megfeleljenek az összes támogatottnak Windows operációs rendszer.

.Net Framework tervezési elve

A következő tervezési alapelvek teszik a .Net keretrendszert nagyon relevánssá a .Net alapú alkalmazások létrehozásához.

1) Interoperabilitás — A .Net keretrendszer sok visszafelé irányuló támogatást nyújt. Tegyük fel, hogy van egy alkalmazásod, amely egy a .Net keretrendszer régebbi verziója, mondjuk 2.0. Ugyanaz az alkalmazás egy újabb verziójú gépen, mondjuk 3.5-ösön is működne. Ez azért van, mert minden kiadással Microsoft biztosítja, hogy a régebbi keretverziók jól illeszkedjenek a legújabb verzióhoz.

2) Hordozhatóság — A .Net keretrendszerre készült alkalmazások bármilyen rendszeren működőképesek lehetnek Windows felület. És most az utóbbi időben, Microsoft azt is elképzeli, hogy elkészíti Microsoft a termékek más platformokon is működnek, például iOS és Linux.

3) Biztonság — A .NET-keretrendszer jó biztonsági mechanizmussal rendelkezik. A beépített biztonsági mechanizmus segít mind az alkalmazások validálásában, mind az ellenőrzésében. Minden alkalmazás explicit módon meghatározhatja a saját biztonsági mechanizmusát. Minden egyes biztonsági mechanizmus arra szolgál, hogy hozzáférést biztosítson a felhasználónak a kódhoz vagy a futó programhoz.

4) Memóriakezelés — A Common Language Runtime (CLR) elvégzi az összes munkát memóriakezelésA .Net keretrendszer képes látni azokat az erőforrásokat, amelyeket egy futó program nem használ. Ezután ennek megfelelően felszabadítja ezeket az erőforrásokat. Ezt egy „Garbage Collector” nevű program teszi, amely a .Net keretrendszer részeként fut. A szemétgyűjtő rendszeres időközönként fut, és folyamatosan ellenőrzi, hogy mely rendszererőforrások nincsenek kihasználva, és ennek megfelelően felszabadítja azokat.

5) Egyszerűsített telepítés — A .Net keretrendszer eszközöket is tartalmaz a ráépített alkalmazások csomagolásához. Ezek a csomagok ezután terjeszthetők a kliens gépekre, ahol automatikusan telepítik az alkalmazást.

GYIK

A .NET keretrendszer csak a következőn fut: Windows és jelenleg karbantartási módban van a 4.8.1-es verziónál. A Modern .NET, korábban .NET Core, többplatformos, nyílt forráskódú és aktívan fejlesztett, így az új projektekhez ajánlott választás.

A Common Language Runtime (CLR) az a motor, amely végrehajtja a felügyelt kódot, kezeli a memóriát és a kivételeket. A Common Language Specification (CLS) egy olyan szabályrendszer, amelyet minden .NET nyelv követ, így a különböző nyelveken írt komponensek biztonságosan együttműködhetnek.

A .NET-keretrendszer számos olyan nyelvet támogat, amelyek egy közös köztes nyelvre fordulnak. A legszélesebb körben használtak a következők: C# és a VB.NET-et, F#-pal a funkcionális programozáshoz. Mindegyik ugyanazt a futási környezetet, osztálykönyvtárat és eszköztárat használja.

Nem. A .NET keretrendszer Windows-csak. Linux vagy macOS modern .NET-et használsz, korábban .NET Core-t, ami többplatformos. A régebbi Mono projekt más operációs rendszereken is futtatott némi .NET Framework kódot.

Igen. A .NET keretrendszer ingyenesen letölthető és használható, és beépítve érkezik a WindowsFejlesztőeszközök, mint például a Visual Studio Community és Visual Studio Code ingyenesek magánszemélyek, kis csapatok és nyílt forráskódú projektek számára is.

Igen. A 4.8.1-es verzió továbbra is támogatott. Windows komponens, és biztonsági, valamint megbízhatósági javításokat kap. Azonban Microsoft Az új funkciókat a modern .NET-re összpontosítja, így a legtöbb új fejlesztés mostantól ezt a platformot célozza meg a keretrendszer helyett.

Igen. Az ML.NET lehetővé teszi gépi tanulási modellek közvetlen C#-ban történő betanítását és futtatását, az ONNX Runtime pedig előre betanított mélytanulási modelleket hajt végre. Felhőalapú AI-szolgáltatásokat is hívhat, így a .NET-alkalmazások intelligens funkciókkal bővülhetnek anélkül, hogy elhagynák az ökoszisztémát.

Igen. A GitHub Copilot C# és VB.NET kód használatát javasolja a Visual Studio-n belül. VS Code, osztályok, metódusok és sablonok állványozása megjegyzésekből. A kimenetet első vázlatként kell kezelni, és azt kell ellenőrizni, mivel a generált kódban hiányozhatnak szélső esetek vagy projektkonvenciók.

Foglald össze ezt a bejegyzést a következőképpen: