Технология .NET

Материал из ПИЭ.Wiki

Перейти к: навигация, поиск

Один из главных принципов .NET можно выразить так: "Изменяйте все, что хотите, используя любые средства". Платформа .NET — это совершенно новая модель для создания приложений для Windows. Перечислим кратко основные положения .NET.

  • Все возможности взаимодействия с существующим кодом. Двоичные компоненты СОМ отлично работают вместе с двоичными файлами .NET.
  • Полное и абсолютное межъязыковое взаимодействие. В отличие от классического СОМ, в .NET поддерживаются межъязыковое наследование, межъязыковая обработка исключений и межъязыковая отладка.
  • Общая среда выполнения для любых приложений .NET вне зависимости от того, на каких языках они были созданы. И что важно, для всех языков используется один и тот же набор встроенных типов данных.
  • Библиотека базовых классов, которая скрывает все сложности, связанные с использованием вызовов API, и предлагает законченную объектную модель для всех языков программирования, поддерживающих .NET.
  • О запутанных конструкциях СОМ можно забыть! Интерфейсы IClassFactory, IUnknown, код IDL и вариантные типы данных отсутствуют в программах .NET.
  • Действительное упрощение процесса развертывания приложения. В среде .NET не надо регистрировать типы в системном реестре. Более того, .NET позволяет разным версиям одного и того же модуля DLL мирно сосуществовать на одном компьютере.

Достоинства

  1. Вся платформа .NET основана на единой объектно-ориентированной модели. Что это значит? Дело в том, что все сервисы, интерфейсы и объекты, которые платформа предоставляет разработчику объединены в единую иерархию классов. Другими словами, все, что может вам потребоваться при создании приложений под платформу .NET будет всегда у вас под рукой. Причем, все это сгруппировано очень удобно и интуитивно понятно.
  2. Приложение, написанное на любом .NET-совместимом языке является межплатформенным (в идеале). Почему в идеале? Дело в том, что приложение, написанное, скажем, на том же C#, не зависит от платформы, на которой будет выполняться, но зато зависит от наличия платформы .NET. Но согласитесь, что намного легче один раз портировать архитектуру .NET под какую либо систему, после чего без проблем запускать абсолютно любое .NET приложение. Но в настоящий момент платформа .NET портирована только на семейство операционных систем Windows, в том числе на мобильные системы MS Windows mobile.
  3. В состав платформы .NET входит т.н. "сборщик мусора", который освобождает ресурсы. Таким образом, приложения защищены от утечки памяти и от необходимости освобождать ресурсы. Это делает программирование более легким и более безопасным.
  4. Приложения .NET используют метаданные, что позволяет им не пользоваться системным реестром Windows.
  5. Любое .NET приложение является автономным, в том смысле, что не зависит от других программ, в частности от ОС. Установка приложения написанного на одном из .NET языках может быть произведена обычным копированием файлов (исключение составляет создание ярлыков в меня "Пуск" и др. местах).
  6. Приложения .NET используют безопасные типы, что повышает их надежность, совместимость и межплатформенность.
  7. Приложение, написанное на любом .NET языке взаимодействует с единой моделью обработки ошибок, что значительно упрощает этот нудный процесс.
  8. Приложения написанные на разных могут легко взаимодействовать. Например, серверная часть может быть написана на C#, а клиентская на Visual Basic.
  9. .NET приложения могут быть сертифицированы на безопасность. Это является особенность промежуточного кода, в который преобразуются все .NET приложения.
  10. Абсолютно все ошибки обрабатываются механизмом исключительных ситуаций. Это позволяет избежать разногласия, который иногда возникал при программировании под Win32.
  11. Повторное использование кода стало еще удобнее. Это связано с тем, что промежуточный язык MSIL не зависит от языка программирования. Например, вы можете написать программу на C#, а патч к ней писать уже, скажем, на J#.

Недостатки

У любого программного продукта есть свои недостатки, есть они и у платформы .NET. Их нужно тоже знать.

  1. Как это часто бывает, за удобство нужно платить скоростью, так и случилось с .NET. Приложения, написанные под платформу .NET работают медленнее, это факт. В некоторых случаях скорость может упасть на 15%, что иногда является неприемлемым (например, при создании 3D приложений, где бьются за каждый FPS). Задержки в выполнении связаны с промежуточным языком MSIL, ведь для того чтобы его скомпилировать в выполняемый файл тоже нужно время. Разумеется, что приложение компилируется не все сразу, а по частям, равномерно при работе программы.
  2. Не на любом языке можно создавать .NET приложения. Дело в том, что первоначально .NET "затачивался" под C/JAVA-подобные языки. Это породило некоторые трудности с созданием .NET компиляторов для других языков (особенно экзотических и узкоспециализированных). В результате этого некоторые функции пришлось решать нетривиальными способами, что отрицательно сказалось на производительности. Но постепенно данный недостаток сходит на нет, т.к. разработчики компиляторов поняли важность платформы .NET и стараются сделать для своих языков достойные инструменты.
  3. Необходимо наличие библиотеки FrameWork. Данный недостаток устранен с выходом Windows Vista, т.к. данная библиотека встроена в систему по умолчанию.

Можно обратить внимание на то, что достоинств у .NET в сумме получилось больше, чем недостатков. Разумеется, это не является отражением реальности. Это говорит о хорошей маркетинговой кампании проведенной корпорацией Microsoft.

Просмотры
Инструменты

Besucherzahler russian mail order brides
счетчик посещений
Rambler's Top100
Лингафонные кабинеты  Интерактивные доски  Интерактивная приставка Mimio Teach