Основные компоненты в .NET Framework.

В .NET Framework есть три основных компонента: CLR, CTS и CLS. В этой статье рассмотри их подробнее.

CLR

Основная задача CLR – автоматическое обнаружение, загрузка и управление типами .NET. В данном случае типами управляет .NET, а не программист. Также среда CLR заботится о ряде низкоуровневых деталей – управление памятью, обработка потоков, выполнение разных проверок, связанных с безопасностью.

CTS

Общая система типов (Common Type System) или система CTS предоставляет полное описание всех возможных типов данных и программных конструкций, которые поддерживаются исполняющей средой, а также способов, как все эти сущности могут взаимодействовать друг с другом. Нужно помнить, что любая возможность CTS может не поддерживаться в отдельно взятом языке, совместимом с .NET Framework.

CTS представляет собой формальную спецификацию, в которой описано то, как должны быть определены типы для того, чтобы они могли обслуживаться в CLR-среде. Существует пять типов CTS. Рассмотрим их подробнее:

Типы классов

В каждом совместимом с .NET языке поддерживается, как минимум, понятие типа класса (class type), которое играет центральную роль в объектно-ориентированном программировании. В C#, как и в других языках программирования, для объявления класса используется ключевое слово class:

class Car
{
  public int Run()
  { return 1; }
}
Типы интерфейсов

Интерфейсы представляют собой именованную коллекцию определений абстрактных членов, которые могут поддерживаться в данном классе или структуре. Пример определения интерфейса в C#:

public interface IDrive
{
  void Press();
}
Типы структур

Структура — это тип значения, неявно производный от типа System.ValueType, который, в свою очередь, является производным от типа System.Object.

Структуры весьма полезны для представления значений с небольшими требованиями к памяти и для передачи параметров по значению в методы со строгой типизацией параметров. В .NET все типы-примитивы (Boolean, Byte, Char, DateTime, Decimal, Double, Int16, Int32, Int64, SByte, Single, UInt16, UInt32 и UInt64) определяются как структуры.

Типы перечислений

Перечисления (enumeration) – удобная программная конструкция, позволяющая сгруппировать данные в пары “имя-значение”. Например:

public enum eNums
{
 A =1,
 B =2,
 C = 3
}
Типы делегатов

Делегаты (delegate) – являются .NET-эквивалентом безопасных в отношении типов указателей функций в стиле С. Основное отличие заключается в том, что делегат в .NET представляет собой класс, который наследуется от System.MulticastDelegate, а не просто указатель на какой-то конкретный адрес в памяти. Пример объявления делегата:

public delegate int AddOp(int x, int y);

Делегаты удобно использовать, когда нужно обеспечивать одну сущность возможностью перенаправлять вызов другой сущности и образовывать основу для архитектуры обработки событий .NET Framework.

CLS

Третий компонент (Common Language Specification) или спецификация CLS. В ней описано лишь то подмножество общих типов и программных конструкций, каковое способны воспринимать все .NET языки.

CLS можно считать просто подмножеством всех функциональных возможностей, определенных в CTS. CLS является набором правил, которые должны придерживаться создатели компиляторов, если они хотят чтобы их продукты могли без особых проблем функционировать в мире .NET Framework.

Кроме среды CLR и спецификаций CTS и CLS, в составе платформы .NET существует библиотека базовых классов. В этой библиотеке содержатся определения примитивов (потоки, файловые I/O, системы графической визуализации, механизмы для взаимодействия с разными внешними устройствами), предоставляет поддержку ряда служб, которые нужны в большинстве реальных приложений.

 
Поделиться в facebook
Facebook
Поделиться в twitter
Twitter
Поделиться в vk
VK
Поделиться в google
Google+
Поделиться в email
Email

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Группа в VK

Помощь проекту

Обнаружили опечатку?

Сообщите нам об этом, выделите текст с ошибкой и нажмите Ctrl+Enter, будем очень признательны!

Свежие статьи

Похожие статьи

Entity Framework

Entity Framework

ADO.NET Entity Framework (EF) — объектно-ориентированная технология доступа к данным, является object-relational mapping (ORM) решением для .NET Framework от Microsoft. Предоставляет возможность взаимодействия с объектами

 
Работа с базой данных в C#

Работа с базой данных в C#

В данной статье мы подробно поговорим о разработке небольшого приложения с помощью Visual Studio базы данных и языка C#. Советуем поэтапно выполнять все инструкции из

 
Создание сканера портов

Создание сканера портов

В прошлой статье “Сокеты в C#” мы познакомились с сокетами и подробно рассмотрели классы для работы с ними. В этой статье мы разработаем простое приложение

 
Сокеты в С#

Сокеты в С#

Сокет – это один конец двухстороннего канала связи между двумя программами, работающими в сети. Используя два сокета, можно передавать данные между разными процессами (локальными или

 

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: