double arrow

Объектно-ориентированное программирование

Общая система типов.

Роль манифеста компоновочного блока

Роль метаданных типов .NET

Кроме IL-инструкций, компоновочный блок .NET содержит исчерпывающие и точные метаданные, описывающие все типы переменных, которые используются в бинарном объекте (перечисления, структуры, классы и т.д.) и все члены каждого типа (свойства, методы, события и т.д.). Задача создания метаданных возлагается на компилятор, а не на программиста. Поскольку метаданные .NET так подробны и точны, то компоновочные блоки оказываются объектами, способными полностью описать самих себя. Причем, настолько полно, что для бинарных .NET-объектов не возникает необходимости регистрироваться в реестре системы.

Компоновочный блок содержит метаданные, описывающие сам компоновочный блок. Вот эти данные и называют манифестом. В манифесте документируются все внешние компоновочные блоки, которые требуются текущему компоновочному блоку для его корректного функционирования, указан номер версии компоновочного блока, информация об авторских правах и т.д. Также как и метаданные типов, генерирование манифеста компоновочного блока также возлагается на компилятор.

Компоновочный блок может содержать любое количество четко определенных типов. CTS это общая система типов, представляющая собой формальное описание того, как должны определяться типы, предназначенные для использования в общеязыковой среде CLR. Для программиста, использующего технологию .NET, в основном, важно знать, как работать с пятью типами, определяемыми спецификациями CTS для выбранного языка программирования. Такими типами являются классы, структуры, интерфейсы, перечисления и делегаты. Кроме перечисленных типов, CTS определяют четкий набор базовых типов данных для обозначения целых и дробных чисел, строковых и логических переменных.

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

В объектно-ориентированном программировании и проектировании главной отправной точкой является не функция не действие, а объект. Такой подход представляется более естественным, поскольку в реальном мире мы имеем дело с объектами (людьми, предметами, техническими устройствами), взаимодействующими друг с другом. Даже взаимодействие пользователя с компьютерной программой – это тоже взаимодействие двух объектов, которые обмениваются друг с другом определенными сообщениями.

Прикладная программа (приложение), построенная по принципам ориентированным на объекты – это уже не последовательность каких-то операторов, работающих по жесткому алгоритму. Объектно-ориентированная программа - это уже совокупность объектов и способов их взаимодействия. В основе ООП используется понятие о классах.

Таким образом, объектно-ориентированное программирование - это методология программирования, которая основана на представлении программы в виде совокупности объектов, каждый из которых является реализацией определенного класса, а классы образуют иерархию на принципах наследуемости.


Сейчас читают про: