Sdílet prostřednictvím


Konceptuální přehled rozhraní .NET framework

Rozhraní .NET Framework je nedílnou součástí systému Windows, která podporuje vytváření a spouštění aplikací a XML webových služeb nové generace. Rozhraní .NET Framework je navrženo tak, aby splňovalo tyto cíle:

  • Poskytnout konzistentní objektovně orientované programovací prostředí, kde je kód objektu uložen a spuštěn lokálně, spuštěn lokálně ale distribuován prostřenictvím Internetu nebo spuštěn vzdáleně.

  • Poskytnout prostředí pro zpracování kódu, které minimalizuje konflikty nasazení a správy verzí softwaru.

  • Poskytnout prostředí pro zpracování kódu, které propaguje bezpečné zpracování kódu včetně kódu, který je vytvářen neznámou nebo částečně důvěryhodnou třetí stranou.

  • Poskytnout prostředí pro zpracování kódu, které eliminuje výkonostní problémy skriptovaných nebo interpretovaných prostředí.

  • Činit vývojářské zkušenosti konzistentními napříč nejrůznějšími typy aplikací, jako jsou například aplikace určené pro systém Windows nebo webové aplikace.

  • Vytvářet veškerou komunikaci na průmyslových standardech, aby se zajistilo to, že kód založený na rozhraní .NET Framework lze integrovat s jakýmkoliv jiným kódem.

Rozhraní .NET Framework má dvě hlavní složky: společný jazykový modul runtime a knihovnu tříd .NET Framework. Modul CLR (Common Language Runtime) je základem rozhraní .NET Framework. Runtime modul si lze představit jako agenta, který spravuje kód v době provádění, poskytuje základní služby, jako je například správa paměti, správa vláken, vzdálená komunikace a současně také zajišťuje přísnou bezpečnost typů a další formy přesnosti kódu, které podporují zabezpečení a robustnost. Ve skutečnosti koncept správy kódu je základní princip modulu runtime. Kód, který se zaměřuje na modul runtime, je znám jako spravovaný kód. Zatímco kód, který se nezaměřuje na modul runtime, je znám jako nespravovaný kód. Knihovna tříd, další hlavní komponenta rozhraní .NET Framework je všeobecná, objektově orientovaná kolekce opakovaně použitelných typů, které lze použít pro vývoj aplikací. Od tradičních aplikací pro příkazový řádek nebo aplikací s grafickým uživatelským rozhraním (GUI) až po aplikace založené na nejnovějších inovacích poskytovaných technologií ASP.NET, jako jsou například Webové formuláře nebo XML webové služby.

Rozhraní .NET Framework může být hostováno nespravovanými komponentami, které načtou modul CLR (Common Language Runtime) do svých procesů a zahájí provádění spravovaného kódu. Tímto vytváří softwarové prostředí, které může využívat jak spravované, tak nespravované vlastnosti. Rozhraní .NET Framework neposkytuje pouze několik hostitelských prostředí modulu runtime, ale rovněž podporuje vývoj hostitelských prostředí modulu runtime třetích stran.

Například technologie ASP.NET je hostitelem modulu runtime. Pro spravovaný kód poskytuje škálovatelné prostředí na straně serveru. Technologie ASP.NET pracuje přímo s modulem runtime, aby povolila ASP.NET aplikace a webové služby XML, obojí je popsáno dále v tomto tématu.

Aplikace Internet Explorer je příkladem nespravované aplikace, která je hostitelem modulu runtime (ve formě rozšíření typu standardu MIME). Použití aplikace Internet Explorer jako hostitele modulu runtime vám umožní vložit do HTML dokumentů spravovanou komponentu nebo ovládací prvky modelu Windows Forms. Hostování modulu runtime tímto způsobem umožňuje spravovaný mobilní kód (podobně jako ovládací prvky technologie Microsoft ActiveX ®), ale s významnými vylepšeními, které může nabídnout pouze spravovaný kód, jako je například částečně důvěryhodné spouštění a izolované úložiště souboru.

Následující ilustrace znázorňuje relaci modulu CLR (Common Language Runtime) a knihovny tříd k vašim aplikacím a celkovému systému. Na ilustraci je také znázorněno jak spravovaný kód pracuje v rámci větší architektury.

Rozhraní .NET framework v kontextu

Spravovaný kód v rámci rozsáhlejší architektury

Následující části podrobněji popisují hlavní komponenty a vlastnosti rozhraní .NET Framework.

Vlastnosti modulu CLR (Common Language Runtime)

Modul CLR (Common Language Runtime) spravuje paměť, spouštění vláken, zpracování kódu, ověření bezpečnosti kódu, kompilaci a další systémové služby. Tyto vlastnosti jsou přirozené pro spravovaný kód, který běží v modulu CLR (Common Language Runtime).

S ohledem na bezpečnost jsou spravované komponenty oceňovány různým stupněm důvěryhodnosti závisící na řadě faktorů, které zahrnují jejich původ (jako je například Internet, podniková síť nebo místní počítač). To znamená, že spravovaná komponenta může nebo nemusí být schopna provádět operace přístupu k souboru, operace přístupu k registru nebo jiné citlivé funkce, dokonce i když je používána ve stejné aktivní aplikaci.

Runtime modul vynucuje zabezpečení přístupu kódu. Například uživatelé mohou důvěřovat tomu, že spustitelný soubor vložený do webové stránky může na obrazovce přehrávat animaci nebo zazpívat písničku, ale nemůže získat přístup k jejich osobním datům, souborovému systému nebo k síti. Vlastnosti zabezpečení modulu runtime tedy umožňují legitimnímu softwaru nasazenému na Internetu být výjimečně bohatý na funkce.

Runtime modul vynucuje také odolnost kódu díky implementaci přísné typové a kódové ověřovací infrastruktury nazývané specifikace CTS (Common Type System). Specifikace CTS zajišťuje, že všechen spravovaný kód je samo-popisující. Různé kompilátory třetích stran nebo společnosti Microsoft generují spravovaný kód, který odpovídá specifikaci CTS. To znamená, že spravovaný kód může spotřebovat jiné spravované typy a instance při důsledném prosazování spolehlivosti a bezpečnosti typů.

Spravované prostředí modulu runtime navíc eliminuje mnoho běžných softwarových problémů. Například modul runtime automaticky zpracovává rozložení objektů a spravuje odkazy na objekty. Uvolňuje je, když již nejsou déle používány. Tato automatická správa paměti řeší dvě nejběžnější chyby aplikace, nevrácenou paměť a neplatné odkazy paměti.

Modul runtime také zrychluje produktivitu vývojáře. Například programátoři mohou psát aplikace v jejich zvoleném vývojovém jazyce, plně využívat modulu runtime, knihovny tříd a komponent vytvořených jinými vývojáři v jiných jazycích. Jakýkoliv dodavatel kompilátoru, který se rozhodne zaměřit na modul runtime může tak učinit. Jazykové kompilátory, které se zaměřují na rozhraní .NET Framework zpřístupňují vlastnosti rozhraní .NET Framework existujícímu kódu napsanému v tomto jazyce. Značně zmírňují proces migrace pro existující aplikace.

I když je runtime modul navržen pro software budoucnosti, podporuje také dnešní a dřívější software. Vzájemná funkční spolupráce mezi spravovaným a nespravovaným kódem umožňuje vývojářům nadále používat potřebné komponenty modelu COM a knihovny DLL.

Runtime modul je navržen k zvýšení výkonu. Přestože modul CLR (Common Language Runtime) poskytuje mnoho standardních služeb modulu runtime, spravovaný kód není nikdy interpretován. Vlastnost nazvaná kompilace za běhu umožňuje veškerému spravovanému kódu běžet v nativním strojovém jazyku systému, ve kterém je vykonáván. Zatímco použití správce paměti odstraňuje možnost fragmentace paměti a zvyšuje paměť, referovaná paměť je blízko, čímž zvyšuje výkonnost.

Nakonec modul runtime může být hostitelem vysoce výkonných aplikací na straně serveru, jako je například Microsoft ® SQL Server ™ a Internetová informační služba (služba IIS). Tato infrastruktura umožňuje používat spravovaný kód k psaní obchodní logiky a zároveň si užívat vynikajícího výkonu nejlepších podnikových serverů v oboru, které podporují hostování modulu runtime.

Knihovna tříd rozhraní .NET Framework

Knihovna tříd rozhraní .NET Framework je kolekce opakovaně použitelných typů, které jsou úzce integrovány s modulem CLR (Common Language Runtime). Knihovna tříd je objektově orientovaná, poskytující typy, ze kterých může váš spravovaný kód odvodit funkcionalitu. Nejen toto činí rozhraní .NET Framework snadno použitelné, ale také snižuje dobu spojenou s učením nových vlastností rozhraní .NET Framework. Navíc komponenty třetích stran se mohou bezproblémově integrovat s třídami v rozhraní .NET Framework.

Například kolekce tříd rozhraní .NET Framework implementuje sadu rozhraní, která může být použita k vytvoření vlastní kolekce tříd. Vaše kolekce tříd se budou bezproblémově prolínat s třídami v rozhraní .NET Framework.

Jak by jste očekávali od objektově orientované knihovny tříd, typy rozhraní .NET Framework umožňují provádět řadu běžných programovacích úkolů, včetně úkolů jako je například správa řetězců, shromažďování dat, možnosti připojení k databázi nebo přístup k souborům. Kromě těchto běžných úkolů, zahrnuje knihovna tříd typy podporující různé specializované vývojové scénáře. Rozhraní .NET Framework můžete například použít k vytvoření následujících typů aplikací a služeb:

Například třídy modelu Windows Forms jsou komplexní sadou opakovaně použitelných typů, které obrovsky zjednodušují vývoj grafického rozhraní (GUI) systému Windows. Pokud píšete aplikaci s webovými formuláři technologie ASP.NET, můžete použít třídy Webového formuláře.

Viz také

Další zdroje

Požadavky na systém rozhraní .NET framework

.NET Framework Core Development

.NET Framework Advanced Development

.NET Framework Core Samples