Какво стана. Какви видове приложения могат да бъдат изградени на платформата

Какво стана. Какви видове приложения могат да бъдат изградени на платформата

Добър ден. Алексей Гулинин е във връзка. В последната статия разгледахме начини за предаване на аргументи към метод в C#. В тази статия бих искал да повторя (повече с прости думи), кое е .Net Frameworkи Visual Studio. Тази статия е продължение на статиите за описание на Visual Studio и .Net Framework .net рамкае Common Language Runtime (CLR). основен компонент на .Net Framework), който осигурява изпълнението на управляван код (управляван код). CLR управлява този код. Какво е управляван код? Кодът, написан за .NET Framework, не се компилира в крайния машинен код, а в междинен език (т.нар. IL - Intermediate Language). След това тази сборка се прехвърля на потребителя (машината трябва да има .Net Framework), зарежда се в паметта и превежда IL командите в действия, които трябва да бъдат извършени.

Какъв е смисълът от междинния език IL?

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

На второ място, неговото присъствие позволява на CLR да контролира работата на вашата програма, т.е. не му позволявайте да прави някои недопустими неща (например манипулиране на паметта).

Вторият важен компонентслед CLR е класна библиотека. .NET Framework включва голям бройкласове, разделени на пространства от имена, които осигуряват цялата основна функционалност. Това е функционалността, от която вашата програма може да се нуждае, като работа с файлове, работа в мрежа, процеси, с графичната подсистема.

Трети компонент- това са рамки за разработка (с други думи, библиотеки за разработка). Това включва библиотеки като WPF (Windows Presentation Foundation), ASP.NET, Entity Framework, WCF (Windows Communication Foundation), Windows Store и др. Всъщност това също са класове. Разликата е, че тези класове са предназначени за решаване на конкретни проблеми:

  • WPF - за работа с графични приложения
  • ASP.NET - за работа с уеб приложения
  • WCF - за работа с мрежата и създаване на разпределени (клиент-сървър) приложения
  • Entity Framework – за работа с базата данни.

Към момента на писане на тази статия най-новата версия е .Net Framework 4.6

Основната среда за разработка, препоръчана от Microsoft, е Visual Studio. Microsoft обикновено има следната ситуация: как нова версия.NET Framework, след това след известно време излиза нова версия на Visual Studio. Какво е включено в Visual Studio (основно):

  1. Текстов редактор с подчертаване на синтаксисен код
  2. Помощна система IntelliSense (извиква се автоматично или чрез натискане на Ctrl + интервал (интервал)
  3. Компилатори от различни езици
  4. Инструменти за бързо разработване на приложения (RAD).
  5. Визуален дизайнер на интерфейси, диаграми
  6. Компонент за работа със сървъри, с бази данни
  7. Опция IIS уеб сървър и sql сървър Express
  8. Дебъгери, профайлери, компоненти, които ви позволяват да обработвате грешки
  9. MSDN помощна система

Към момента на писане на тази статия най-новата версия е Visual Studio 2015.

Как работи концепцията на програмите в Visual Studio. Студиото има концепция "Проект" (Project) и "Решение" (Solution). Проектът е компилационна единица. Състои се от набор от файлове. Проектът се компилира като цяло, обикновено в сборка (exe файл или dll файл). Проектите могат да бъдат групирани под Решение. Решението е просто колекция от проекти, които могат или не могат да бъдат свързани помежду си (което обикновено се случва).

Тъй като. NET Framework е мощна платформа за разработка на приложения, която ви позволява да разработвате приложения от напълно различни типове.

настолни приложения (приложения, които работят на локален компютърпотребител);

уеб приложения (приложения, които работят в рамките на уеб сървър и са достъпни за потребителя чрез браузър, използващ HTTP/HTTPS протокол);

Уеб приложения с богат потребителски интерфейс (приложения, които се доставят на потребителя чрез HTTP/HTTPS протокола в браузъра и се изпълняват от страна на клиента);

уеб услуги (софтуерен код, който се изпълнява от страната на сървъра и може да бъде извикан от клиента, за да получи всякакви данни или да извърши операция);

мобилни приложения (приложения, които работят на мобилни устройства).

За всеки от горните видове приложения в състава. NET Framework, има съответните технологии, които ви позволяват да създавате приложения. Освен това, . NET Framework съдържа общи библиотеки, които могат да се използват в различни типове приложения. Тези библиотеки включват следните библиотеки:

· да работят със струни;

за работа с математически функции;

за работа с графики

достъп до данни;

· да работи с файлове и други входно-изходни операции;

за извършване на криптографски операции;

· за организиране на синхронизиране на данни между източници на данни;

и огромен брой други библиотеки.

Нека направим общ преглед на всеки тип приложение. Както беше отбелязано по-горе, за всеки от типовете приложения в платформата. NETРамка, има специални шаблони за проекти.

Настолни приложениясе различават по това, че работят директно на компютъра на потребителя. Това е най-често срещаният тип приложение. Настолните приложения обикновено имат достъпкъм ресурсите на компютъра на потребителя, като напр HDD, аудио оборудване и др. Предимствата на този тип приложение включват интерактивностпотребителски интерфейси способността на приложението да работи независимо от мрежовата връзка интернети други ресурси. Въпреки това, за да работят такива приложения, те трябва да бъдат инсталирани локално компютър.

Десктоп приложенията могат да се разделят на три типа – прозоречни приложения, конзолни приложения и услуги. Windows. Прозоречните приложения имат графичен интерфейс. Конзолни приложенияобикновено изглеждат така командна линия, А интерфейстакива приложения са текстови, а не графични. И накрая, услуги Windowsизобщо нямат потребителски интерфейс, но работят във фонов режим.

Да създава приложения с прозоречен графичен интерфейс в платформата. NETМогат да се използват рамкови технологии WindowsФормуляри (достъпни от . NETРамка 1.0) и Windows Presentation Foundation(Достъпен от NETРамка 3.0). Най-новата технология е по-нова и по-обещаваща.


Уеб приложениясе различават от настолните по това, че работят отдалечено на уеб сървър. Потребителизползва възможностите на уеб приложенията чрез браузър и протокол http/https. Предимството на този тип приложения е, че не е необходимо да ги инсталирате компютървсеки потребител - приложениетрябва да се инсталира в мрежата сървър, след което става достъпен за всички потребители. Недостатъкът на такива приложения обаче е ограничената възможност за изграждане на потребителски интерфейси. Това се дължи на факта, че потребителски интерфейсвъз основа на формати HTML, cssи JavaScript, които са доста ограничени. Следователно функционалността на потребителските интерфейси обикновено е доста ограничена.

Тъй като уеб приложенията имат сериозен недостатък - ограничени възможности отоформяне на потребителския интерфейс - появи се нов тип приложение, което се нарича богати интернет приложенияили Интернет приложения с богат потребителски интерфейс (Rich Internet Applications, RIA). Философията на тези приложения е, че в браузърспециален допълнение(плъгин), който може да показва допълнителни Тип съдържание. След това, когато потребителотваря страницата в браузъра, програмният код, който работи в рамките на тази добавка, се прехвърля към страната на клиента. Тъй като в този случай целият код се изпълнява от страна на клиента, разработчиците имат повече възможности. отформиране на потребителски интерфейси.

Има няколко технологии за изграждане на този тип приложения. Една от най-известните технологии е технологията на Adobe. Светкавица. Освен това има и технология Microsoft Silverlight, която ви позволява най-удобно да се интегрирате с останалите технологии в рамката. NETрамка.

Друг вид приложения са Услуги(или уеб услуги). Услугите са някакъв вид програмен код, който се намира на сървъра и се изпълнява отзаявка от потребителя. Например, можете да създадете набор от услуги отработа с данни от База даннисъхранявани на сървъра. Обикновено други видове приложения (настолни приложения, уеб приложения и т.н.) имат достъп до услуги, за да извършат някаква операция на сървъра или да получат данни от сървъра.

В рамките на платформата. NET Framework, има редица технологии, които ви позволяват да създавате услуги. Най-старата технология е A.S.P..NET Webуслуги. Тя ви позволява да създавате прости уеб услуги, които работят отпротокол http/https. Следващото развитие беше технологията Windows Communication Foundation(WCF). Тази платформа е най-мощният и гъвкав инструмент, който поддържа различни видове канали ( http, TCP, именувани тръби и т.н.) и значително разширява възможностите на разработчика отсъздаване на услуги.

Има и допълнителни клонове на проекта WCF - това е WCF СиндикиранеРазширения (WCF REST) ​​и ADO.NET данниуслуги. Тези проекти са предназначени да улеснят изграждането на услуги за достъп до данни.

И накрая, последният тип приложения са мобилни приложения. Мобилните приложения работят в рамките на мобилни устройства, базирани на операционна система Windows Mobile . За мобилни устройства също има прилагане на подмножество от възможности. NETРамка, която се нарича. NET Compactрамка.

Така цялата гама от технологии в платформата. NETРамката може да бъде представена чрез следната диаграма.

Въведение

ПЛАТФОРМАТА е най-малкото среда за изпълнение на програма и ... нещо друго, което определя характеристиките на разработването и изпълнението на програмния код - програмни парадигми, езици за програмиране, набори от базови класове.

Microsoft.NET (.NET Framework) е софтуерна платформа. Съдържа следните основни компоненти: среда за изпълнение на общ език (CLR) и библиотека с класове на .NET Framework (.NET FCL).

CLS (Common Language Specification) е обща спецификация за езиците за програмиране. Това е набор от конструкции и ограничения, които предоставят насоки за авторите на библиотеки и компилатори в .NET Framework. Библиотеките, създадени според CLS, могат да се използват от всеки език за програмиране, който поддържа CLS. CLS съвместими езици (те включват Visual C#, Visual Basic, Visual C++) могат да се интегрират един с друг. CLS е основата за междуезична оперативна съвместимост в платформата Microsoft.NET.

CLR (Common Language Runtime) – среда за изпълнение или виртуална машина. Гарантира, че монтажът е изпълнен. Основният компонент на .NET Framework. Виртуалната машина е абстракция на капсулирана (отделна) управлявана операционна система от високо ниво, която осигурява изпълнение на програмен код и включва решаването на следните задачи:

§ управление на код (зареждане и изпълнение),

§ управление на паметта при поставяне на обекти,

§ изолация памет на приложението,

§ проверка на сигурността на кода,

§ преобразуване на междинен език в машинен код,

§ достъп до метаданни (информация от разширен тип),

§ обработка на изключения, включително междуезични изключения,

§ взаимодействие между управляван и неуправляван код (включително COM обекти),

§ поддръжка на услуги за разработка (профилиране, отстраняване на грешки и др.).

Накратко, CLR е набор от услуги, необходими за извършване на изграждане. В този случай програмният код на сборка може да бъде или управляван (кода, когато се изпълнява от CLR, по-специално, активира системата за управление на паметта), или неуправляван („стар“ програмен код).

Самата CLR се състои от два основни компонента: ядрото (mscoree.dll) и библиотеката на базовия клас (mscorlib.dll). Наличието на тези файлове на диска е сигурен знак, че компютърът поне се е опитал да инсталира .NET framework.

Ядрото за изпълнение е внедрено като библиотеката mscoree.dll. Когато сборката е свързана, в нея е вградена специална информация, която, когато се стартира приложение (EXE) или когато се зареди библиотека (достъп до DLL от неуправляван модул - извикване на функцията LoadLibrary за зареждане на управлявана сборка), причинява CLR да се зареди и инициализира. След като CLR се зареди в адресното пространство на процеса, ядрото за изпълнение прави следното:

§ намира местоположението на монтажа,

§ зарежда сборката в паметта,

§ анализира съдържанието на сборката (идентифицира класове, структури, интерфейси),

§ анализира метаданни,

§ осигурява компилиране на код на междинен език (IL) в специфични за платформата инструкции (код на асемблер),

§ извършва проверки, свързани с сигурност,

§ използвайки основната нишка на приложението, прехвърля управлението на фрагмента на асемблерния код, преобразуван в инструкции на процесора.

FCL (.NET Framework Class Library) е обектно-ориентирана библиотека от класове, интерфейси и системи от типове (типове стойности), които са включени в платформата Microsoft .NET, съответстваща на CLS спецификацията.

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

NET, библиотеката на класовете е вторият компонент на CLR.

NET FCL може да се използва от ВСИЧКИ .NET приложения, независимо от предназначението, архитектурата, използвана за разработване на езика за програмиране. По-специално, той съдържа:

§ вградени (елементарни) типове, представени като класове (на платформата .NET всичко е изградено върху структури или класове),

§ класове за разработване на графичен потребителски интерфейс (Windows Form),

§ класове за разработване на уеб приложения и уеб услуги, базирани на технологията ASP.NET (Web Forms),

§ класове за разработване на XML и интернет протоколи (FTP, HTTP, SMTP, SOAP),

§ класове за разработване на приложения, които работят с бази данни (ADO.NET),

§ и още много.

NET приложение е приложение, предназначено да работи на платформата Microsoft.NET. Реализира се на езици за програмиране, съответстващи на CLS.

MSIL (Microsoft Intermediate Language, известен още като IL - Intermedia Language) е междинен език на платформата Microsoft.NET. Изходните кодове за .NET приложения са написани на езици за програмиране, които отговарят на CLS спецификацията. За езици за програмиране, отговарящи на спецификацията CLS, може да се изгради конвертор към MSIL. По този начин програмите на тези езици могат да бъдат преведени в междинен MSIL код. Благодарение на CLS съответствието, в резултат на превод на програмен код, написан на различни езици, се получава съвместим IL код.

Всъщност MSIL е асемблер на виртуален процесор.

METADATA - при конвертиране на програмния код в MSIL се формира и блок METADATA, съдържащ информация за данните, използвани в програмата. Всъщност това са набори от таблици, съдържащи информация за типовете данни, дефинирани в модула, за типовете данни, посочени от този модул. Преди това тази информация се съхраняваше отделно. Например едно приложение може да включва информация за интерфейси, които са описани в език за дефиниране на интерфейс (IDL). Метаданните вече са част от управлявания модул.

По-конкретно метаданните се използват за:

§ запазване на информация за видовете. При компилиране вече не са необходими заглавни и библиотечни файлове. Компилаторът чете цялата необходима информация директно от управляваните модули,

§ проверка на кода по време на изпълнение на модула,

§ динамично управление на паметта (освобождаване на памет) по време на изпълнение на модула,

§ при разработване на програма със стандартни инструменти (Microsoft Visual Studio.NET)

§ Въз основа на метаданни се предоставя динамична подсказка (IntelliSense).

Езици, за които е реализиран MSIL превод:

и много други езици.

Изпълним файл – независимо от компилатора (и изходния език), резултатът от превода на .NET приложение е управляван изпълним файл (управляван модул). Това е стандартен преносим изпълним файл (PE - Portable Executable) Windows файл.

Елементите на управлявания модул са представени в таблицата.

Управляваният модул съдържа управляван код.

Управляваният код е код, който се изпълнява в CLR. Кодът е изграден на базата на структури и класове, декларирани в изходния модул, които съдържат декларации на методи. Управляваният код трябва да отговаря на определено ниво на информация (метаданни) за средата на изпълнение. Кодът на C#, Visual Basic и JScript се управлява по подразбиране. Кодът на Visual C++ не се управлява по подразбиране, но компилаторът може да създаде управляван код чрез предоставяне на аргумент в командния ред (/CLR). Една от характеристиките на управлявания код е наличието на механизми, които ви позволяват да работите с УПРАВЛЯВАНИ ДАННИ.

Управлявани данни - обекти, които се разпределят в управляваната памет (на управляваната купчина) по време на изпълнението на кода на модула и се унищожават от CLR събирача на отпадъци. C#, Visual Basic и JScript .NET данните се управляват по подразбиране. C# данните също могат да бъдат маркирани като неуправляеми.

Сборката е основният градивен елемент на приложение в .NET Framework. Управляваните модули се комбинират в сборки. Сглобяването е логическо групиране на един или повече управлявани модули или файлове с ресурси. Управляваните модули в сборките се изпълняват в среда за изпълнение (CLR). Сглобяването може да бъде изпълнимо приложение (разположено в .EXE файл) или библиотечен модул (разположено в .DLL файл). В същото време сборката няма нищо общо с обикновените (стари!) изпълними приложения и библиотечни модули.

Декларацията за сглобяване (Манифест) е неразделна част от сглобката. Друг набор от таблици с метаданни, които:

§ идентифицира сглобката под формата на текстово име, неговата версия, култура и цифров подпис (ако сглобката се споделя между приложения),

§ определя файловете, включени в състава (по име и хеш),

§ определя видовете и ресурсите, които съществуват в сборката, включително описание на тези, които се експортират от сборката,

§ изброява зависимости от други сборки,

§ Указва набор от права, необходими за правилното функциониране на сборката.

Тази информация се използва по време на изпълнение, за да поддържа приложението да работи правилно.

Процесорът НЕ МОЖЕ да изпълни IL код. А преводът на IL кода се извършва от JIT компилатора (точно навреме - в точното време), който се активира от CLR при необходимост и се изпълнява от процесора. В този случай резултатите от JIT компилатора се съхраняват в оперативна памет. Установява се съответствие между фрагмент от преведения IL код и съответния блок памет, което по-късно позволява на CLR да прехвърли управлението на инструкциите на процесора, записани в този блок памет, заобикаляйки повторно извикване към JIT компилатора.

В CLR е разрешено съвместна дейности взаимодействие на компонентите софтуерреализирани на различни езици за програмиране.

Въз основа на предварително формирания блок от метаданни, CLR осигурява ЕФЕКТИВНА оперативна съвместимост между работещи .NET приложения.

За CLR всички сборки са еднакви, независимо на кои езици за програмиране са написани. Основното е, че отговарят на CLS. Всъщност CLR разрушава границите на езиците за програмиране (междуезикова оперативна съвместимост). Така, благодарение на CLS и CTS, .NET приложенията всъщност се оказват MSIL (IL) приложения.

CLR се грижи за много от проблемите, които традиционно са били в центъра на вниманието на разработчиците на приложения. Функциите, изпълнявани от CLR, включват:

§ проверка и динамично (JIT) компилиране на MSIL код в инструкции на процесора,

§ управление на памет, процеси и нишки,

§ организация на взаимодействието между процесите,

§ решаване на проблеми със сигурността (в рамките на съществуващата в системата политика за сигурност).

AppDomain е логически контейнер за сглобяване, който се използва за изолиране на приложение в адресното пространство на процес. Всички обекти генерирани от приложението, се създават в определен домейн на приложение. Множество домейни на приложения могат да съществуват в един процес на операционна система. CLR изолира приложенията чрез управление на паметта в домейна на приложението.

Кодът, изпълняван в CLR (CLR процес), е отделен от другите процеси, изпълнявани на компютъра по същото време.

Нормален процес се стартира от системата в рамките на специално разпределено адресно пространство за процеса. CLR предоставя възможност за стартиране на множество управлявани приложения в ЕДИН ПРОЦЕС. всеки управлявано приложениесе свързва със собствен домейн на приложение (накратко AppDomain). В допълнение към основния домейн, в приложението могат да бъдат създадени няколко допълнителни домейна.

Структурата на CLR runtime е показана на снимката.

Свойства на домейна:

§ домейните са изолирани един от друг. Обектите, създадени в рамките на един домейн, са недостъпни от друг домейн,

§ CLR може да разтоварва домейни заедно с всички сборки, свързани с тези домейни,

§ възможна е допълнителна конфигурация и защита на домейни,

§ Реализира се специален механизъм за защитен достъп (marshaling) за обмен на данни между домейни.

§ .NET Framework е разработил собствен компонентен модел, чиито елементи са .NET асембли (.NET-assembly), а за предна и обратна съвместимост с модела COM / COM +, CLR има вградени механизми (COM Interop), които осигуряват достъп до COM обекти според .NET правила и до .NET сборки според COM правила. В същото време .NET приложенията не изискват регистрация на компоненти в системен регистър Windows.

За да стартирате .NET приложение, достатъчно е да поставите сборките, свързани с това приложение, в същата директория. Ако модулът може да се използва в няколко приложения, той се поставя и регистрира с помощта на специална полезноств GAC (Global Assembly Cache).

CTS - система от общ тип Поддържа се от всички езици на платформата. Поради факта, че .NET е дете на ООП, тук говорим за елементарни типове, класове, структури, интерфейси, делегати и изброявания.

Системата за общи типове е важна част от средата за изпълнение, определяща структурата на синтактичните конструкции, как да се декларират, използват и прилагат ОБЩИ типове за изпълнение. CTS съдържа основна информация за системата от ОБЩИ ПРЕДВАРИТЕЛНИ типове, тяхното използване и управление (правила за преобразуване на стойности). CTS играе важна роля в интегрирането на многоезични управлявани приложения.

Пространството от имена е начин за организиране на система от типове в една група. Има обща библиотека от базови класове на общ език. А концепцията за пространство от имена осигурява ефективна организация и навигация в тази библиотека. Независимо от езика за програмиране, достъпът до определени класове се осигурява чрез групирането им в общи пространства от имена.

Пространство от имена Предназначение
Система
System.Data За достъп до бази данни
System.Data.Common
System.Data.OleDb
System.Data.SqlClient
Система.Колекции Класове за работа с контейнерни обекти
Система.Диагностика Класове за проследяване и отстраняване на грешки в код
Система. Чертеж Класове графична поддръжка
System.Drawing.Drawing2D
System.Drawing.Printing
System.IO I/O поддръжка
System.Net Поддръжка за пренос на данни по мрежи
Система.Отражение Работа с потребителски типове по време на изпълнение
System.Reflection.Emit
System.Runtime.InteropServices Поддръжка за взаимодействие с „обикновен код“ – DLL, COM сървъри, отдалечен достъп
System.Runtime.Remoting
Система.Сигурност Криптография, разрешения
System.Threading Работа с потоци
System.WEB Работа с уеб приложения
System.Windows.Form Работа с елементи на интерфейса на Windows
System.XML Поддръжка на XML данни

Изпълнението на неуправлявани изпълними модули (обикновени Windows приложения) се осигурява директно от системата Windows. Изпълняват се неуправляеми модули Windows средакато "прости" процеси. Единственото изискване, на което трябва да отговарят такива модули, е да работят правилно в Windows среда. Те трябва да работят „правилно“ (не окачвайте системата, избягвайте изтичане на памет, не блокирайте други процеси и правилно използвайте инструментите на самата операционна система, за да работите от името на процеси). Тоест да пасне най-много Общи правиларабота под Windows.

В същото време повечето от проблемите на правилното изпълнение на неуправляван модул (проблеми с взаимодействието, разпределението и освобождаването на паметта) са проблеми на разработчиците на приложения. Например, добре познатата COM технология е начин за организиране на взаимодействието на разнородни компоненти в рамките на едно приложение.

Обектът е, в широк смисъл, област от паметта (на стека или купчината), разпределена по време на изпълнението на програма за запис на всякакви стойности. Характеризира се с тип (фиксиран набор от свойства, които определят размера на заетата област, начина, по който се интерпретира стойността, диапазона от стойности, набора от действия, разрешени при манипулиране на обекта) от местоположението в паметта (адрес ).

Събирането на отпадъци е механизъм, който позволява на CLR да определи кога даден обект вече не е наличен в управляваната памет на програмата. Събирането на боклука освобождава управлявана памет. За разработчика на приложението наличието на механизъм за събиране на боклук означава, че той вече не трябва да се тревожи за освобождаване на памет. Това обаче може да изисква промяна в стила на програмиране, например трябва да се обърне специално внимание на процедурата за освобождаване на системни ресурси. Трябва да приложите методи, които освобождават системни ресурси, които са под контрола на приложението.

Стекът е специално организирана област от паметта, предназначена за временно съхраняване на стойностите на обекти (променливи и константи), за предаване на параметри при извикване на методи, за съхраняване на адреса за връщане. Управлението на стека е доста просто в сравнение с купчината. Базира се на промяната в стойността на съответния регистър в горната част на стека. Когато размерът на стека се намали, обектите просто се губят.

Програма на C#

Програмата е добре оформена (без възражения от компилатора на C#) последователност от изрази, от които се формира асемблиране.

Като цяло, програмистът създава файл, съдържащ декларации на класове, който се подава към компилатора като вход. Резултатът от компилацията се представя от преводача като сборка и се определя от предпочитанията на програмиста. По принцип монтажът може да бъде два вида:

§ Преносим изпълним файл (PE файл с разширение .exe), подходящ за директно изпълнение от CLR,

§ Файлът на библиотеката с динамични връзки (DLL файл с разширение .dll) е проектиран да се използва повторно като компонент в приложение.

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

Концепцията за околната среда. Фактори на околната среда и тяхната класификация

Терминът "околна среда" в екологията се използва в широк и тесен смисълдуми. В широкия смисъл на думата средата е среда. Околната среда е съвкупността от всички условия на живот, съществуващи на планетата Земя. Американският биолог П. Ерлих в книгата си "Популационна експлозия", публикувана в края на 60-те години, образно характеризира околната среда: "Нашата среда е единствена по рода си" кожа "от почва, вода и газова атмосфера , минерални хранителни вещества и живи организми, покриващи една иначе незабележима планета." Средата в тесния смисъл на думата е местообитание. Местообитанието е тази част от природата, която заобикаля организма и с която той пряко взаимодейства. Местообитанието на всеки организъм е разнообразно и променливо. Състои се от много елементи на живата и неживата природа и елементи, въведени от човека в резултат на стопанската му дейност.
Всички елементи на околната среда по отношение на организма са неравностойни: някои от тях влияят върху неговата жизнена дейност, докато други са безразлични към него. В тази връзка всички елементи на околната среда са групирани, както следва.
1. Неутралните фактори са тези елементи на околната среда, които не влияят на тялото и не предизвикват никаква реакция в него.
2. Екологичните фактори са тези елементи на околната среда, които са в състояние пряко или косвено да повлияят на организма поне през една от фазите на неговото индивидуално развитие и да го предизвикат специфична адаптивна реакция.
Екологичните фактори на околната среда са разнообразни, те имат различен характер и специфика на действие. Според значението им за организма те се делят на две групи:
1. Условията на съществуване или условията на живот са тези фактори на средата, без които организмът не може да съществува и с които той е в неразривно единство. Липсата на поне един от тези фактори води до смъртта на организма.
2. Вторични фактори са тези фактори на околната среда, които не са жизненоважни, но могат да променят съществуването на даден организъм, като го подобряват или влошават.
Анализът на огромното разнообразие от фактори на околната среда по естеството на техния произход ни позволява да ги разделим на три големи групи, във всяка от които на свой ред могат да се разграничат подгрупи:
I. Абиотичните фактори са неживи фактори, които пряко или косвено влияят на тялото. Те са разделени на четири подгрупи:
а) климатични фактори - това са всички фактори, които формират климата и могат да повлияят на живота на организмите (светлина, температура, влажност, Атмосферно налягане, скорост на вятъра и др.);
б) едафични или почвени фактори са свойствата на почвата, които влияят върху живота на организмите. Те от своя страна се разделят на физични (механичен състав, бучки, капилярност, коефициент на запълване, въздухо- и влагопроницаемост, въздухо- и влагоемкост, плътност, цвят и др.) и химични (киселинност, минерален състав, съдържание на хумус) свойства на почвата;
в) орографски фактори или релефни фактори са влиянието на природата и спецификата на релефа върху живота на организмите (височината на терена над морското равнище, географската ширина на терена спрямо екватора, стръмността на теренът е ъгълът на наклона на терена спрямо хоризонта, изложението на терена е положението на терена по отношение на кардиналните точки);
г) хидрофизични фактори - това е влиянието на водата във всички състояния (течно, твърдо, газообразно) и физическите фактори на околната среда (шум, вибрации, гравитация, магнитни, електромагнитни и йонизиращи лъчения) върху живота на организмите.
II. Биотичните фактори са фактори на живата природа, влиянието на живите организми един върху друг. Те са от най-разнообразен характер и действат не само пряко, но и индиректно чрез околната неорганична природа. В зависимост от вида на въздействащия организъм те се разделят на две групи:
а) вътрешноспецифични фактори - това е влиянието на индивиди от един и същи вид върху тялото (заек на заек, бор на бор и др.);
б) междуспецифични фактори - това е влиянието на индивиди от други видове върху тялото (вълк върху заек, бор върху бреза и др.).
В зависимост от принадлежността към дадено царство, биотичните фактори се разделят на четири основни групи:
а) фитогенни фактори - това е ефектът на растенията върху тялото;
б) зоогенни фактори - това е влиянието на животните върху организма;
в) микрогенни фактори - това е влиянието на микроорганизмите (вируси, бактерии, протозои, рикетсии) върху тялото;
г) микогенни фактори - това е ефектът на гъбичките върху тялото.
III. Антропогенните фактори са съвкупност от въздействия на човека върху живота на организмите. В зависимост от характера на въздействията те се разделят на две групи:
а) фактори на пряко влияние - това е прякото въздействие на човек върху тялото (косене на трева, обезлесяване, стрелба по животни, улов на риба и др.);
б) фактори на непряко влияние - това е влиянието на човек от факта на неговото съществуване (всяка година, в процеса на дишане на хората, 1,1x1012 kg въглероден диоксид навлиза в атмосферата и от заобикаляща среда 2,7x1015 kcal енергия се изтегля под формата на храна) и чрез икономически дейности (селско стопанство, индустрия, транспорт, домакински дейности и др.).
В зависимост от последствията от въздействието и двете групи антропогенни фактори от своя страна се разделят допълнително на положителни фактори (засаждане и хранене на растения, отглеждане и защита на животните, опазване на околната среда и др.), които подобряват живота на организмите или увеличаване на техния брой и отрицателни фактори (сечене на дървета, замърсяване на околната среда, унищожаване на местообитания, изграждане на пътища и други комуникации), които нарушават живота на организмите или намаляват броя им.
Оригиналната класификация на факторите на околната среда според степента на тяхното постоянство, т.е. според тяхната периодичност, предложи А. С. Мончадски. Според тази класификация се разграничават следните три групи фактори.
1. Първичните периодични фактори са фактори, които са започнали да действат преди появата на живота на Земята и живите организми трябваше незабавно да се адаптират към тях (дневна периодичност на осветяване, сезонна периодичност на сезоните, лунни ритми и др.).
2. Вторични периодични фактори са фактори, които са резултат от първични периодични фактори (влажност, температура, динамика на храната, съдържание на газ във водата и др.).
3. Непериодични фактори - това са фактори, които нямат правилната периодичност или цикличност (едафични фактори, антропогенни фактори, съдържание на замърсители във водата, атмосферата или почвата и др.).
В зависимост от характера на промяната във времето факторите на околната среда също се разделят на три групи:
1. Редовно периодичните фактори са фактори, които променят силата си в зависимост от времето на деня, сезона на годината или ритъма на приливите и отливите (светлина, температура, дневна светлина и др.).
2. Нерегулярни фактори са фактори, които нямат ясно определена периодичност (климатични фактори през различни години, фактори с катастрофален произход в резултат на наводнения, урагани, земетресения и др.).
3. Насочващи фактори са фактори, които действат продължително време в една посока (охлаждане или затопляне на климата, обрастване на водоем, паша на едно място и др.).
Според характера на реакцията на организма към въздействието на фактор на околната среда се разграничават следните групи фактори на околната среда:
1. Дразнителите са фактори, които предизвикват адаптивни промени във физиологичните функции и биохимичните реакции.
2. Модификаторите са фактори, които предизвикват адаптивни анатомични и морфологични изменения в организма.
3. Ограничители са фактори, които правят невъзможно съществуването в дадени условия и ограничават средата за разпространение на организма.
4. Сигналните устройства са фактори, които показват промяна в други фактори и действат като предупредителен сигнал.
В зависимост от възможността за консумация при взаимодействие с тялото факторите на околната среда се разделят на две категории:
1. Условията са фактори на околната среда, които се променят във времето и пространството, на които тялото реагира различно в зависимост от силата на фактора (температура, влажност, атмосферно налягане, физични свойства на почвата и др.). Условията не са изразходвани и изчерпани от тялото.
2. Ресурсите са всички екологични фактори на околната среда, които организмът консумира, изразходва в смисъл, че тяхното количество (налични запаси) може да намалее в резултат на взаимодействие с организма. Ресурсите са преди всичко веществата, които изграждат тялото на организма, енергията, участваща в процесите на неговата жизнена дейност, както и местата, където протичат определени фази от неговата жизнен цикъл.
В допълнение към горните класификации на факторите на околната среда в екологията се използват и други класификации, които се основават на различни критерии в зависимост от интересите на изследователя.

.NET Framework е един от компонентите на системата Windows. Тя ви позволява да създавате и използвате приложения от следващо поколение. Предназначение на платформата .NET Framework :

  • създаване на съгласувана обектно-ориентирана среда за програмиранепозволяващи различни възможности за внедряване: кодът може да се съхранява и изпълнява локално; работят локално и се разпространяват по интернет; или стартирайте дистанционно
  • предоставят среда за изпълнение на код, която минимизира конфликтите при внедряване на софтуер и версии;
  • гарантиране на сигурността на изпълнението на код в средата - включително код, създаден от неизвестен разработчик или разработчик с частично доверие;
  • осигуряване на среда за изпълнение на код за справяне с проблеми с производителността в среда, базирана на скрипт или интерпретация;
  • обединяване на работата на разработчиците в напълно различни приложения: както в Windows приложения, така и в уеб приложения;
  • използването на индустриални стандарти във всички области на обмен на данни и в резултат на това осигуряване на съвместимост на кода, създаден в .NET Framework, с други програми.