Общая система типов.
Роль манифеста компоновочного блока
Роль метаданных типов.NET
Кроме IL -инструкций, компоновочный блок. NET содержит исчерпывающие и точные метаданные, описывающие все типы переменных, которые используются в бинарном объекте (перечисления, структуры, классы и т.д.) и все члены каждого типа (свойства, методы, события и т.д.). Задача создания метаданных возлагается на компилятор, а не на программиста. Поскольку метаданные. NET так подробны и точны, то компоновочные блоки оказываются объектами, способными полностью описать самих себя. Причем, настолько полно, что для бинарных. NET -объектов не возникает необходимости регистрироваться в реестре системы.
Компоновочный блок содержит метаданные, описывающие сам компоновочный блок. Вот эти данные и называют манифестом. В манифесте документируются все внешние компоновочные блоки, которые требуются текущему компоновочному блоку для его корректного функционирования, указан номер версии компоновочного блока, информация об авторских правах и т.д. Также как и метаданные типов, генерирование манифеста компоновочного блока также возлагается на компилятор.
|
|
Компоновочный блок может содержать любое количество четко определенных типов. CTS это общая система типов, представляющая собой формальное описание того, как должны определяться типы, предназначенные для использования в общеязыковой среде CLR. Для программиста, использующего технологию.NET, в основном, важно знать, как работать с пятью типами, определяемыми спецификациями CTS для выбранного языка программирования. Такими типами являются классы, структуры, интерфейсы, перечисления и делегаты. Кроме перечисленных типов, CTS определяют четкий набор базовых типов данных для обозначения целых и дробных чисел, строковых и логических переменных.
Объектно-ориентированное программирование (ООП) и порожденное им объектно-ориентированное проектирование – это совершенно новый подход к построению сложных программ и систем. До появления ООП господствовало процедурное программирование. Тогда основой программ были функции и процедуры, т.е. действия. Разработчик определял, какие действия, какие функции нужны ему для решения поставленной задачи, реализовывал эти функции и объединял их в программу. При этом программа обычно имела достаточно четкий алгоритм работы в виде последовательности операций, начинающейся в каком-то месте и заканчивающейся в одном из множества других мест.
В объектно-ориентированном программировании и проектировании главной отправной точкой является не функция не действие, а объект. Такой подход представляется более естественным, поскольку в реальном мире мы имеем дело с объектами (людьми, предметами, техническими устройствами), взаимодействующими друг с другом. Даже взаимодействие пользователя с компьютерной программой – это тоже взаимодействие двух объектов, которые обмениваются друг с другом определенными сообщениями.
|
|
Прикладная программа (приложение), построенная по принципам ориентированным на объекты – это уже не последовательность каких-то операторов, работающих по жесткому алгоритму. Объектно-ориентированная программа - это уже совокупность объектов и способов их взаимодействия. В основе ООП используется понятие о классах.
Таким образом, объектно-ориентированное программирование - это методология программирования, которая основана на представлении программы в виде совокупности объектов, каждый из которых является реализацией определенного класса, а классы образуют иерархию на принципах наследуемости.