Программа сертификации специалистов Microsoft (Microsoft Certified Professional, MCP) — отличная возможность подтвердить Ваше знание современных технологий и программных продуктов этой фирмы. Лидер отрасли в области сертификации, Microsoft разработала современные методы тестирования. Экзамены и программы сертификации подтвердят Вашу квалификацию разработчика или специалиста по реализации решений на основе технологий и программных продуктов Microsoft. Сертифицированные Microsoft профессионалы квалифицируются как эксперты и высоко ценятся на рынке труда.
Программа сертификации Microsoft — один из самых строгих и полных тестов оцен- ки знаний и навыков в области проектирования, разработки и сопровождения про- граммного обеспечения. Сертификации удостаивается лишь тот, кто демонстрирует умение решать конкретные задачи, применяя продукты компании. Программа тес- тирования позволяет не только оценить квалификацию специалиста, но и служит ориентиром для всех, кто стремится достичь современного уровня знаний в этой области. Как и любой другой тест или экзамен, сертификация Microsoft яиляется показателем определенного уровня знаний специалиста, что важно для работодате- ля и всей организации в целом.
,NET Framework — это управляемая среда для разработки и исполнения приложе- ний, обеспечивающая контроль типов. Эта среда управляет выполнением програм- мы: она выделяет память под данные и команды, назначает разрешения программе или отказывает в их предоставлении, начинает исполнение приложения и управля- ет его ходом, а также отвечает за освобождение и повторное использование памяти, занятой ресурсами, более ненужными программе. .NET Framework состоит из двух основных компонентов: общеязыковой исполняющей среды (CLR) и библиотеки классов .NET Framework.
Конструкция .NET Framework обеспечивает межъязыковую совместимость. Проще говоря, компоненты, реализованные с применением .NET Framework, способны взаимодействовать друг с другом независимо от языка, на котором они написаны. Так, приложение на Visual Basic .NET может обращаться к DLL, написанной на С#, а та, в свою очередь, способна вызвать ресурсы, созданные на управляемом C++ или любом другом .NET-совместимом языке. Межъязыковая совместимость под- держивается и для наследования в ООП (объектно-ориентированном программи- ровании), например, на основе С#-класса можно объявлять классы в программах на Visual Basic .NET и наоборот.
Чтобы понять, как общеязыковая исполняющая среда контролирует исполнение кода, необходимо изучить структуру .NET-приложения. Основным блоком .NET- приложений является сборка (assembly) — самоописываемый набор кода, ресурсов и метаданных. Содержимое сборки описано в ее декларации (manifest), которая включает следующие сведения:
Как уже говорилось, во время компиляции .NET-приложений вместо двоичных ма- шинных кодов генерируется IL-код, который представляет собой набор низкоуров- невых команд, интерпретируемых CLR. Приложения развертываются в виде одной или нескольких сборок, которые состоят из исполняемых файлов и DLL, содержа- щих IL-код. По крайней мере одна из этих сборок должна содержать исполняемый файл, помеченный как входная точка приложения.
Как говорилось ранее, в .NET Framework две разновидности типов: ссылочные типы (reference types) и типы значений (value types). Основное различие между ними за- ключается в способе доступа к переменным, объявленным с этими типами. Чтобы разобраться в сути этого различия, необходимо кратко пояснить основы динами- ческого использования памяти.
В начало кода любого .N ЕТ-приложения автоматически помещается ссылка на биб- лиотеку базовых классов .NET Framework, чтобы приложение «узнало* о библиоте- ке базовых классов и смогло создавать экземпляры типов, которые эта библиотека поддерживает.
Переменная, объявленная с типом значения, содержит все данные, которые пред- ставляет этот тип, тогда как переменная ссылочного типа содержит ссылку на не- который объект — это принципиальное отличие между типами значения и ссылоч- ными типами. Рассмотрим следующий пример; Visual Basic .NET
Теперь вы умеете получать доступ к типам из библиотеки базовых классов .NET Framework, ссылаясь на них по полным именам. Полное имя типа включает все пространства имен, к которым он принадлежит, например: