Связь C# со средой .NET Framework
76C# --- Руководство по C# --- Связь C# со средой .NET Framework
C# спроектирован и разработан специально для применения с .NET Framework.
Назначение .NET Framework — служить средой для поддержки разработки и выполнения сильно распределенных компонентных приложений. Она обеспечивает совместное использование разных языков программирования, а также безопасность, переносимость программ и общую модель программирования для платформы Windows.
Базовые функциональные возможности платформы .NET включают в себя:
- Возможность обеспечения взаимодействия с существующим программным кодом
Эта возможность, несомненно, является очень хорошей вещью, поскольку позволяет комбинировать существующие двоичные единицы СОМ (т.е. обеспечивать их взаимодействие) с более новыми двоичными единицами .NET и наоборот. С выходом версии .NET 4.0 эта возможность стала выглядеть даже еще проще, благодаря добавлению ключевого слова dynamic.
- Поддержка для многочисленных языков программирования
Приложения .NET можно создавать с помощью любого множества языков программирования (C#, Visual Basic. F#. S# и т.д.). При этом в .NET код, написанный на любом языке компилируется в код на промежуточном языке (Intermediate Language - IL).
- Полная интеграция языков
В .NET поддерживается межъязыковое наследование, межъязыковая обработка исключений и межъязыковая отладка кода. При этом .NET использует общий исполняющий механизм, основным аспектом которого является хорошо определенный набор типов, который способен понимать каждый, поддерживающий .NET язык.
Так же в .NET был полностью переделан способ разделения кода между приложениями за счет введения понятия сборки (assembly) вместо традиционных библиотек DLL. Сборки обладают формальными средствами для управления версиями и допускают одновременное существование рядом нескольких различных версий сборок.
- Усовершенствованная поддержка для создания динамических веб-страниц
Хотя в классической технологии ASP предлагалась довольно высокая степень гибкости, ее все равно не хватало из-за необходимости использования интерпретируемых сценарных языков, а отсутствие объектно-ориентированного дизайна часто приводило к получению довольно запутанного кода ASP. В .NET предлагается интегрированная поддержка для создания веб-страниц с помощью ASP.NET. В случае применения ASP.NET код создаваемых страниц поддается компиляции и может быть написан на любом поддерживающем .NET языке высокого уровня, например, C# или Visual Basic 2010. В новой версии .NET эта поддержка улучшилась еще больше, сделав возможным применение новейших технологий вроде Ajax и jQuery.
- Эффективный доступ к данным
Набор компонентов .NET, известный под общим названием ADO.NET, позволяет получать эффективный доступ к реляционным базам данных и многим другим источникам данных. Также предлагаются компоненты, позволяющие получать доступ к файловой системе и каталогам. В частности, в .NET встроена поддержка XML, позволяющая манипулировать данными, импортируемыми и экспортируемыми на платформы, отличные от Windows.
- Установка с нулевым воздействием
Сборки бывают двух типов: разделяемые и приватные. Разделяемые сборки представляют собой обычные библиотеки, доступные всему программному обеспечению, а приватные сборки предназначены для использования только с определенными программами. Приватные сборки являются полностью самодостаточными, поэтому процесс их установки выглядит просто. Никакие записи в системный реестр не добавляются; все нужные файлы просто размещаются в соответствующей папке файловой системы.
- Visual Studio 2010
Вместе с .NET поставляется среда разработки Visual Studio 2010, которая способна одинаково хорошо справляться как с кодом на языке С++, C# и Visual Basic 2010, так и с кодом ASP.NET или XML. В Visual Studio 2010 интегрированы все наилучшие возможности сред конкретных языков из всех предыдущих версий этой замечательной IDE-среды.
Что нового в .NET Framework 4
Первая версия .NET Framework (1.0) была выпущена в 2002 г. и встречена с большим энтузиазмом. Версия .NET Framework 2.0 вышла в 2005 г. и получила статус серьезного выпуска. Версия .NET Framework 4 является еще одним серьезным выпуском данного продукта с множеством замечательных новых возможностей.
В каждом выпуске .NET Framework в Microsoft всегда старались делать так, чтобы изменений, нарушающих целостность предыдущего разработанного кода, было как можно меньше. Пока что им удавалось довольно успешно справляться с этой задачей.
Динамическая типизация
В мире программирования наблюдается значительный рост применения динамических языков, таких как JavaScript, Python и Ruby. По этой причине в C# была добавлена возможность динамической типизации (dynamic typing). Знать статическим образом, какими объекты могут получаться в конце, не всегда возможно. Теперь вместо использования ключевого слова object и назначения этого типа всем сущностям можно предоставить возможность решать этот вопрос среде DLR (Dynamic Language Runtime — исполняющая среда динамического языка) непосредственно во время выполнения.
Динамические возможности C# обеспечивают лучшее взаимодействие. Появляется возможность взаимодействовать с различными динамическими языками и работать с DOM гораздо более простым образом. Кроме того, облегчается работа с API-интерфейсами СОМ для Microsoft Office.
Среда DLR входит в состав версии .NET Framework 4. Среда DLR построена на основе среды CLR (Common Language Runtime — общеязыковая исполняющая среда) для предоставления возможности связывать вместе все взаимодействие с динамическими языками.
Доступ к новой среде DLR в C# получается с помощью нового ключевого слова dynamic. Это ключевое слово служит флагом для компилятора; при каждой встрече с ним компилятор будет понимать, что речь идет о динамическом, а не обычном статическом вызове.
Ковариантность и контравариантность
Возможности ковариантности (covariance) и контравариантности (contravariance) предлагались и в предыдущих версиях .NET Framework, но в версии .NET Framework 4 они были расширены таким образом, чтобы лучше функционировать с обобщениями, делегатами и прочими элементами. В предыдущих версиях .NET контравариантность можно было использовать с объектами и массивами, но нельзя, например, с обобщенными интерфейсами. В .NET 4 это стало возможным.
Технология ASP.NET MVC
Технология ASP.NET MVC, ставшая последним серьезным добавлением в ASP.NET, вызвала большую шумиху в сообществе разработчиков. Она предоставляет средства для создания приложений ASP.NET с использованием шаблона "модель-представление-контроллер" (Model-View-Controller), которых давно ожидали многие разработчики. ASP.NET MVC обеспечивает разработчиков возможностями тестирования, гибкости и обслуживания создаваемых ими приложений. Важно понимать, что ASP.NET MVC не предназначена служить заменой хорошо известной технологии ASP.NET, а является просто другим способом построения приложений.
В данном выпуске ASP.NET приложения можно создавать с использованием этой новой модели. Технология ASP.NET MVC полностью встроена в .NET Framework и Visual Studio.