Какво е .NET Framework? Обяснете Archiструктура и компоненти

⚡ Умно обобщение

.NET Framework е Microsoft платформа за изграждане и изпълнение Windows настолни, уеб и сервизни приложения. Той обединява Common Language Runtime, споделена библиотека с класове и езици като C# и VB.NET в една управлявана среда за разработка.

  • 🧩 Определение: .NET Framework е Windows-единствен набор от инструменти, езици и библиотеки за настолни и уеб приложения.
  • 🏛️ Archiтекстура: Common Language Runtime изпълнява управляван код, докато библиотеките с класове предоставят готови за многократна употреба функции.
  • Основни компоненти: CLR, библиотеката с класове и поддържаните езици работят заедно, за да компилират и изпълняват приложения.
  • Принципи на дизайна: Оперативната съвместимост, преносимостта, сигурността, автоматичното управление на паметта и опростеното внедряване оформят рамката.
  • 🌐 Видове приложения: WinForms изгражда настолни приложения, ASP.Net захранва уебсайтове, а ADO.Net се свързва с бази данни.
  • 🤖 Релевантност на ИИ: ML.NET и ONNX Runtime добавят машинно обучение, докато GitHub Copilot ускорява .NET кодирането.

Какво е .NET Framework

Какво е .Net Framework?

. Net Framework е платформа за разработка на софтуер, разработена от Microsoft за изграждане и работа Windows приложения. .Net рамката се състои от инструменти за разработчици, езици за програмиране и библиотеки за изграждане на настолни и уеб приложения. Използва се и за създаване на уебсайтове, уеб услуги и игри.

.Net framework беше предназначен да създава приложения, които да работят на Windows Платформа. Първата версия на .Net framework беше пусната през 2002 г. Версията беше наречена .Net framework 1.0. The Microsoft .Net Framework измина дълъг път оттогава, а най-новата версия е .Net Framework 4.8.1.

- Microsoft .Net framework може да се използва за създаване и на двете — Базиран на формуляр намлява Уеб-базирана приложения. Уеб услуги може да се разработи и с помощта на .Net framework.

Рамката също така поддържа различни езици за програмиране като Visual Basic и C#. Така че разработчиците могат да избират и избират езика, за да разработят необходимото приложение. В тази глава ще научите някои основи на рамката .Net.

. Net Framework Archiтекстура

. Net Framework Archiтекстура е програмен модел за платформата .Net, който осигурява среда за изпълнение и интеграция с различни езици за програмиране за лесно разработване и внедряване на различни Windows и настолни приложения. Състои се от библиотеки с класове и компоненти за многократна употреба.

Основната архитектура на .Net framework е показана по-долу.

. Net Framework Archiтектурна диаграма

. Net Framework Archiтектурна диаграма

.NET компоненти

Архитектурата на .Net framework е базирана на следните ключови компоненти:

1. Common Language Runtime

- Обща продължителност на езика (CLR) е изпълнителният механизъм в .Net архитектурата, върху който се изпълняват .Net програмите.

CLR има следните ключови характеристики:

Изключение Handling — Изключенията са грешки, които възникват при изпълнение на приложението. Примери за изключения са:

  • Ако приложение се опита да отвори файл на локалната машина, но файлът не присъства.
  • Ако приложението се опита да извлече някои записи от a база данни, но връзката с базата данни не е валидна.

Събиране на боклук — Събирането на боклук е процес на премахване на нежелани ресурси, когато те вече не са необходими. Примери за събиране на боклук са:

  • Файлов дескриптор, който вече не е необходим. Ако приложението е завършило всички операции с даден файл, тогава файловият дескриптор може вече да не е необходим.
  • Връзката с базата данни вече не е необходима. Ако приложението е завършило всички операции с база данни, връзката с базата данни може повече да не е необходима.

Работа с различни езици за програмиране — Както бе отбелязано в по-ранен раздел, разработчикът може да разработи приложение на различни езици за програмиране на .Net.

  1. Език — Първото ниво е самият език за програмиране; най-разпространените са VB.Net и C#.
  2. съставител — Има отделен компилатор за всеки език за програмиране. Така че в основата на езика VB.Net ще има отделен VB.Net компилатор. По подобен начин, за C# ще имате друг компилатор.
  3. Common Language Runtime — Това е последният слой в .Net, използван за изпълнение на .Net програма, разработена във всеки програмен езикСледващият компилатор изпраща програмата към CLR слоя, за да изпълни .Net приложението.

.NET компоненти

2. Библиотека на класа

.NET Framework включва набор от стандартни библиотеки с класове. Библиотеката на класове е колекция от методи и функции, които могат да се използват за основната цел.

Например, има библиотека с класове с методи за обработка на всички операции на файлово ниво. Така че има метод, който може да се използва за четене на текст от файл. По подобен начин има метод за запис на текст във файл.

Повечето от методите са разделени на System.* или Microsoft.* пространства от имена. (Звездичката * просто означава препратка към всички методи, които попадат в системата или Microsoft пространство от имена.)

Именното пространство е логическо разделяне на методи, което групира свързани класове под едно име.

3. Езици

Видовете приложения, които могат да бъдат изградени в .Net framework, са класифицирани най-общо в следните категории.

WinForms — Това се използва за разработванеping Приложения, базирани на формуляри, които биха се изпълнявали на машина на краен потребител. Notepad е пример за клиентско приложение.

ASP.Net — Това се използва за разработванеping уеб-базирани приложения, които са създадени да работят във всеки браузър, като Internet Explorer, Chrome или Firefox.

  • Уеб приложението ще се обработва на сървър, на който ще има инсталирани Internet Information Services.
  • Интернет информационните услуги, или IIS, са Microsoft компонент, който се използва за изпълнение на Asp.Net приложение.
  • След това резултатът от изпълнението се изпраща до клиентските машини и изходът се показва в браузъра.

ADO.Net — Тази технология се използва за разработване на приложения за взаимодействие с бази данни, като например Oracle or Microsoft SQL Server.

Microsoft винаги гарантира, че .Net frameworks са в съответствие с всички поддържани Windows операционна система.

Принцип на проектиране на .Net Framework

Следните принципи на проектиране са това, което прави .Net framework много подходящ за създаване на .Net-базирани приложения.

1) Оперативна съвместимост — .Net framework предоставя много обратна поддръжка. Да предположим, че имате приложение, изградено върху по-стара версия на .Net framework, да речем 2.0. Стартирането на същото приложение на машина с по-висока версия, да речем 3.5, пак ще работи. Това е така, защото с всяка версия, Microsoft гарантира, че по-старите версии на рамката се съчетават добре с най-новата версия.

2) Преносимост — Приложения, изградени върху .Net framework, могат да работят на всяка Windows платформа. И сега в последно време, Microsoft също така предвижда да направи Microsoft продуктите работят на други платформи, като iOS и Linux.

3) Сигурност — .NET Framework има добър механизъм за сигурност. Вграденият механизъм за сигурност помага както при валидирането, така и при проверката на приложенията. Всяко приложение може изрично да дефинира своя механизъм за сигурност. Всеки механизъм за сигурност се използва, за да предостави на потребителя достъп до кода или до изпълняваната програма.

4) Управление на паметта — Common Language Runtime (CLR) върши цялата работа на управление на паметта.Net framework има всички възможности да вижда ресурсите, които не се използват от работеща програма. След това би освободил тези ресурси съответно. Това се прави чрез програма, наречена „Garbage Collector“, която работи като част от .Net framework. Garbage collector работи на редовни интервали и проверява кои системни ресурси не се използват и ги освобождава съответно.

5) Опростено внедряване — .Net framework разполага и с инструменти за пакетиране на приложения, изградени върху него. Тези пакети могат да бъдат разпространявани към клиентски машини, където те автоматично инсталират приложението.

Въпроси и Отговори

.NET Framework работи само на Windows и сега е в режим на поддръжка във версия 4.8.1. Modern .NET, преди известен като .NET Core, е междуплатформен, с отворен код и активно разработван, което го прави препоръчителният избор за нови проекти.

Common Language Runtime (CLR) е двигателят, който изпълнява управляван код, обработва памет и изключения. Common Language Specification (CLS) е набор от правила, които всеки .NET език следва, така че компонентите, написани на различни езици, да работят безопасно.

.NET Framework поддържа няколко езика, които се компилират в общ междинен език. Най-широко използваните са C# и VB.NET, с F# за функционално програмиране. Всички те споделят една и съща среда за изпълнение, библиотека с класове и инструменти.

Не. .NET Framework е Windows-само. За насочване към Linux или macOS Използвате модерен .NET, преди известен като .NET Core, който е кросплатформен. По-старият проект Mono също е изпълнявал част от .NET Framework кода на други операционни системи.

Да. .NET Framework е безплатен за изтегляне и използване и се доставя вграден в WindowsИнструменти за разработка, като например Visual Studio Community и Visual Studio Code също са безплатни за отделни лица, малки екипи и проекти с отворен код.

Да. Версия 4.8.1 остава поддържана като Windows компонент и получава корекции за сигурност и надеждност. Въпреки това Microsoft фокусира новите функции върху съвременния .NET, така че повечето нови разработки сега са насочени към тази платформа, вместо към Framework.

Да. ML.NET ви позволява да обучавате и изпълнявате модели за машинно обучение директно в C#, а ONNX Runtime изпълнява предварително обучени модели за дълбоко обучение. Можете също така да извиквате облачни услуги за изкуствен интелект, така че .NET приложенията да добавят интелигентни функции, без да напускат екосистемата.

Да. GitHub Copilot предлага C# и VB.NET код във Visual Studio и VS Code, класове за скеле, методи и шаблонен код от коментари. Третирайте резултата му като първа чернова и го прегледайте, тъй като генерираният код може да пропуска гранични случаи или конвенции на проекта.

Обобщете тази публикация с: