Разработка многоуровневых архитектур
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ РАЗРАБОТКИ АРХИТЕКТУРЫ ИНФОРМАЦИОННЫХ СИСТЕМ
Лекция 2
1. Средства Microsoft.NET Framework.
.NET Framework — программная платформа, выпущенная компанией Microsoft в 2002 году. Основой платформы является исполняющая среда Common Language Runtime (CLR), способная выполнять как обычные программы, так и серверные веб-приложения. NET Framework поддерживает создание программ, написанных на разных языках программирования.
Считается, что платформа.NET Framework явилась ответом компании Microsoft на набравшую к тому времени большую популярность платформу Java компании Sun Microsystems (ныне принадлежит Oracle).
Хотя.NET является патентованной технологией корпорации Microsoft и официально рассчитана на работу под операционными системами семейства Microsoft Windows, существуют независимые проекты (прежде всего это Mono и Portable.NET), позволяющие запускать программы.NET на многих других операционных системах.
Архитектура.NET
Программа для.NET Framework, написанная на любом поддерживаемом языке программирования, сначала переводится компилятором в единый для.NET промежуточный байт-код Common Intermediate Language (CIL) (ранее назывался Microsoft Intermediate Language, MSIL). В терминах.NET получается сборка, англ. assembly. Затем код либо исполняется виртуальной машиной Common Language Runtime (CLR), либо транслируется утилитой NGen.exe в исполняемый код для конкретного целевого процессора. Использование виртуальной машины предпочтительно, так как избавляет разработчиков от необходимости заботиться об особенностях аппаратной части. В случае использования виртуальной машины CLR, встроенный в неё JIT-компилятор «на лету» (just in time) преобразует промежуточный байт-код в машинные коды нужного процессора. Современная технология динамической компиляции позволяет достигнуть высокого уровня быстродействия. Виртуальная машина CLR также сама заботится о базовой безопасности, управлении памятью и системе исключений, избавляя разработчика от части работы.
|
|
Архитектура.NET Framework описана и опубликована в спецификации Common Language Infrastructure (CLI), разработанной Microsoft и утверждённой ISO и ECMA. В CLI описаны типы данных.NET, формат метаданных о структуре программы, система исполнения байт-кода и многое другое.
Объектные классы.NET, доступные для всех поддерживаемых языков программирования, содержатся в библиотеке Framework Class Library (FCL). В FCL входят классы Windows Forms, ADO.NET, ASP.NET, Language Integrated Query, Windows Presentation Foundation, Windows Communication Foundation и другие. Ядро FCL называется Base Class Library (BCL).
Среды разработки, поддерживающие.NET:
· Microsoft Visual Studio (C#, Visual Basic.NET, Managed C++, F#)
· SharpDevelop
· MonoDevelop
· Embarcadero RAD Studio (Delphi for.NET); ранее Borland Developer Studio (Delphi for.NET, C#)
|
|
· Zonnon
· PascalABC.NET
Приложения.NET также можно разрабатывать в текстовом редакторе, просто вызывая компилятор из командной строки.
Языки программирования в.NET
Одной из основных идей Microsoft.NET является совместимость программных частей, написанных на разных языках. Например, служба, написанная на C++ для Microsoft.NET, может обратиться к методу класса из библиотеки, написанной на Delphi; на C# можно написать класс, наследованный от класса, написанного на Visual Basic.NET, а исключение, созданное методом, написанным на C#, может быть перехвачено и обработано в Delphi. Каждая библиотека (сборка) в.NET имеет сведения о своей версии, что позволяет устранить возможные конфликты между разными версиями сборок.
Языки, поставляемые вместе Microsoft Visual Studio:
C#
J# — последний раз был включён в Visual Studio 2005
VB.NET
JScript.NET
C++/CLI — новая версия Managed C++
F# — член семейства языков программирования ML, включён в Visual Studio 2010
Не встроенные, но активно поддерживаемые:
Поддерживающие.NET не активно.
Ada — см. A#
APL
Boo, основан на Python
COBOL
Component Pascal (ближе к Oberon чем к Pascal)
Delphi: Delphi 8, Delphi 2005—2010, Delphi XE
Eiffel
Forth
FORTRAN
Haskell
IronRuby — реализация языка Ruby
IronPython — реализация языка Python
Lexico
Lisp
Mercury
Mondrian
Nemerle — гибридный функционально/императивный язык
Oberon for.NET (ETH) — незначительные расширения для.NET. Проект приостановлен.
Oxygene
Perl
PHP
PascalABC.NET
Prolog
RPG
Smalltalk
Zonnon — полностью интегрируется в Visual Studio