Объектно-ориентированное программирование (ООП) отличается от процедурного программирования в первую очередь тем, что основной акцент ставится не на алгоритмы, а на разработку структур хранения и управления данными.
Согласно объектно-ориентированному подходу любая программа представляет собой набор взаимодействующих друг с другом объектов, имеющих состояние и поведение.
Разработка программы сводится к определению этого набора объектов.
Фреймворк — каркас, структура.
Каркасный подход - это такой подход к построению программ, где любая конфигурация программы строится из двух частей: первая, постоянная часть — каркас, не меняющийся от конфигурации к конфигурации и несущий в себе гнезда, в которых размещается вторая, переменная часть — сменные модули (или точки расширения).
Каркас стал единым для всех языков среды. Поэтому, на каком бы языке программирования ни велась разработка, она использует классы одной и той же библиотеки. Многие классы библиотеки, используются всеми языками. Отсюда единство интерфейса приложений, на каком бы языке оно не разрабатывалось.
В каркасе Framework .Net можно выделить два основных компонента: