Обзор технологии net framework 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Обзор технологии net framework



Платформа.NET Framework — это один из компонентов системы Windows. Он позволяет создавать и использовать приложения нового поколения. Назначение платформы.NET Framework:

· создание целостной объектно-ориентированной среды программирования допускающей различные варианты реализации: код может храниться и выполняться локально; выполняться локально, а распространяться через Интернет; или выполняться удаленно;

· предоставление среды выполнения кода, в которой число конфликтов при развертывании программного обеспечения и управлении версиями будет сведено к минимуму;

· обеспечение безопасности выполнения кода в среде — в том числе кода, созданного неизвестным разработчиком или разработчиком с частичным доверием;

· предоставление среды выполнения кода, позволяющей устранить проблемы, связанные с производительностью сред на основе сценариев или интерпретации;

· унификация работы разработчиков в совершенно разных приложениях: как в приложениях Windows, так и в веб-приложениях;

· использование промышленных стандартов во всех областях обмена данными и, как следствие, обеспечения совместимости кода, созданного в.NET Framework, с другими программами.

Платформа.NET Framework состоит из двух основных компонентов: среды CLR и библиотеки классов.NET Framework. Среда CLR — это фундамент платформы.NET Framework. Это своеобразный агент, управляющий кодом во время его выполнения, предоставляющий ключевые службы, связанные с такими процессами, как управление памятью, потоками и удаленными операциями, а также обеспечивающий безопасность типов и другими способами контролирующий правильность кода, гарантируя безопасность и стабильность приложений. Понятие управления кодом является для среды основополагающим. Код, созданный для среды, называется управляемым. Любой другой код называется неуправляемым кодом. Библиотека классов, второй основной компонент платформы.NET Framework, является обширным объектно-ориентированным набором типов, которые можно использовать для разработки самых различных приложений — от классических приложений с интерфейсом командной строки или графическим интерфейсом пользователя до новейших приложений на базе технологий ASP.NET, например веб-форм и веб-служб.

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

 

39 Структура и компоненты программы на языке С#

Microsoft Visual Studio.NET - это интегрированная среда разработки для создания, документирования, запуска и отладки программ, написанных на языках. NET.

Эта среда разработки является открытой языковой средой. Наряду с языками программирования, изначально включенными в среду - C ++, C#, J#, Visual Basic, - в нее могут добавляться любые языки программирования, компиляторы которых создаются сторонними разработчиками. Необходимым условием для включения языков в среду Visual Studio.NET является использование единого каркаса – платформы Framework.Net.

Платформа Framework.NET позволяет:

· легко использовать компоненты, разработанных на различных языках;

· разрабатывать единое приложение из нескольких частей на разных языках;

Для разработки приложений в Visual Studio. NET используются проекты.

Проект (Project) - это основная единица, с которой имеет дело разработчик. Сначала он должен выбрать тип проекта, после чего Visual Studio создает каркас проекта в соответствии с выбранным типом.

Проект состоит из классов, собранных в одном или нескольких пространствах имен. Пространства имен (Namespaces) позволяют структурировать проекты, содержащие большое число классов, объединяя в одну группу близкие классы.

Несколько проектов могут объединяться в решение (Solution), которое также может включать ресурсы, необходимые этим проектам.

В C# нет глобальных функций, поэтому по умолчанию при создании консольного приложения объявляется класс Program, который содержит функцию static Main(), служащую начальной точкой выполнения программы. Функция Main может быть объявлена без параметров или с параметром, представляющий собой массив строк.

Также программа на C# может содержать комментарии и атрибуты.

В C# используются однострочные и многострочные комментарии. Однострочный комментарий начинается с пары символов " // ", и весь текст до конца строки является комментарием. Многострочный комментарий начинается с пары символов /* и заканчивается */.

Атрибут - средство добавления декларативной информации к элементам программного кода. Назначение атрибутов: организация взаимодействия между программными модулями, дополнительная информация об условиях выполнения кода, управление сериализацией (т.е. правила сохранения информации), отладка, и др. Атрибуты могут быть как стандартными, так и заданными пользователем. Стандартные атрибуты используются CLR и влияют на то, как будет выполняться проект. Атрибут размещается в скобках " [] ".

Типы данных C#.

Стандарт языка C++ включает следующий набор фундаментальных типов.

· Логический тип (bool).

· Символьный тип (char).

· Целые типы. Они могут отличаться размером: short, int, long, а также могут быть знаковыми (signed) или беззнаковыми (unsigned).

· Типы с плавающей точкой. Они также могут отличаться размерами: float, double и long double.

Тип void указывает на отсутствие информации.

К конструируемым типам относятся следующие:

· Указатели (например, char*).

· Ссылки (например, char&).

· Массивы (например, char[]).

Также язык позволяет разработчику конструировать собственные типы:

· Перечислимые типы (enum).

· Структуры (struct).

· Классы.

В языке C# все типы можно рассматривать и под другим ракурсом, разделив их на четыре категории:

· Типы-значения (value).

· Ссылочные (reference).

· Указатели (pointer).

· Тип void.

Для ссылочного типа значение задает ссылку на область памяти в "куче" (heap), где расположен соответствующий объект. Для типа-значения значением являются собственно данные, а память для них выделяется в стеке.

Логический, арифметический, структуры, перечисление относятся типам-значениям. Массивы, строки и классы относятся к ссылочным типам.

И ссылочные, и обычные типы являются производными от базового класса object. В тех случаях, когда обычный тип должен вести себя как объект, создается оболочка (wrapper), которую можно рассматривать как ссылочный объект, помещенный в кучу, и в нее копируется значение переменной обычного типа. Оболочка автоматически помечается таким образом, что система знает, какое значение она содержит. Этот процесс назывется упаковкой (boxing), а обратный процесс - распаковкой (unboxing).

Упаковка происходит автоматически, для этого нужно только присвоить значение обычного типа переменной типа object. Упаковка и распаковка позволяют обрабатывать любой тип как объект. Например, в выражении

7.ToString();

целое число 7 упаковывается путем вызова функции Int32.ToString().

Массивы в C# могут быть многомерными (multidimensional) или невыровненными (jagged). Более сложные структуры данных такие, как стек и хеш-таблица определены в пространстве имен System.Collections.

Выражения и операторы C#.

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

В таблице ниже приведен список операций C#.

Имя и тип переменной задаются при ее объявлении и остаются неизменными в течение всего времени ее жизни. Особенностью языка C# является требование обязательной инициализации переменной до начала ее использования. Попытка использовать неинициализированную переменную приводит к ошибкам, обнаруживаемым еще на этапе компиляции.

По используемым выражениям и операторам C# похож на C++. Так в программах на C# используются такие операторы как:

· Оператор присваивания (=)

· Составной оператор ({})

· Операторы выбора: if-else и switch

· Операторы цикла: for, while, оператор

· Операторы break и continue

· Оператор return

· Оператор перехода goto

Кроме того, введены несколько новых инструкций. Например, оператор foreach позволяет получить доступ ко всем элементам массива или коллекции поочередно, в порядке возрастания индексов. Его синтаксис:

foreach (тип идентификатор in контейнер) оператор

В C# процедуры и функции существуют только как методы некоторого класса, они не определены вне класса. Роль библиотек процедур и функций выполняют библиотеки классов. Библиотека классов Framework Class Library (FCL), доступная в языке C#, существенно расширяет возможности языка.

 

40. Классы памяти и организация программ.

Каждая переменная и функция в программе на языке Си принадлежит к какому-либо классу памяти. Класс памяти переменной определяет время ее существования (время жизни) и область видимости (область определения), связанные с понятием блока программы (сколько времени и где существует). Различают четыре класса памяти:auto, register, extern, static.

Автоматическая переменная (auto) – это всегда локальная переменная, но не наоборот, т.е. видима (существует) от точки ее объявления и до конца блока, в котором она объявлена, кроме вложенных блоков, в которых эта переменная определяется повторно. Память для нее выделяется при входе в блок (автоматически) и освобождается (автоматически) при выходе из блока.

Доступ к такой переменной возможен только в том блоке, где она определена. Доступ из внешнего блока невозможен, т.к. до момента входа в блок переменная вообще не существует (т.е. под нее не отведена память). Это связано с тем, что автоматические переменные образуются и исчезают одновременно с входом в функцию и выходом из нее, они не сохраняют своих значений от вызова к вызову и должны устанавливаться заново.

Регистровая переменная (register) – это автоматическая переменная. Ключевое слово register – лишь указывает компилятору. Что такую переменную рекомендуется разместить не в оперативной памяти, а одном из регистров, если это возможно, что приводит к уменьшению времени выполнения программы. Так могут объявляться отдельные переменные целых типов и указатели типа near. Но это неприменимо для массивов, структур, объединений и переменных с плавающей точкой.

Внешняя переменная (extern) имеет область существования от точки ее объявления и до конца файла, где она объявлена. Если внутри блока определена автоматическая переменная с таким же именем (т.е. локальная переменная), то внешняя переменная здесь недоступна. Предполагается, что память под переменную, объявленную с классом extern, выделяется в другом модуле в месте ее определения, а в данном модуле только используется ее значение. По умолчанию функция имеет класс extern.

Статическая переменная (static) в противоположность автоматической существует все время, пока выполняется программа, и обеспечивает возможность сохранить значение локальной переменной при выходе из функции и использовать его при последующем входе в блок. Ее область существования (видимости) – от точки определения и до конца блока, если внутри блока она не определена заново. По умолчанию статическими являются строковые литералы и все глобальные переменные (объявленные вне тела функций).

 

 



Поделиться:


Последнее изменение этой страницы: 2016-07-16; просмотров: 412; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.183.150 (0.017 с.)