Компонентное программирование .NET Framework
Эволюция развития лямбда-исчисления и комбинаторной логики
Комбинаторная логика и лямбда-исчисление — это такие формальные системы, в которых центральной разрабатываемой сущностью является представление об объекте.
Эволюция развития формализации с типами и рекурсивных вычислений
Эволюция развития модели абстрактной машины и концепций ООП
Современные подходы к программированию
Основные подходы:
· Модульный (имеет чётко опр-ю структуру)
· Функциональный (функции вып-т нек-е действия)
· Логический
· Объектно-ориентированный подход
· Смешанный
· Компонентно-ориентированный
· Объектный подход
Декларативный язык
(программирование представляет собой описание действий которые необходимо осуществить ):
· простота верификации и тестирования (+)
· строгость мат формализации (+)
· высокая степень абстракции (+)
· сложность реализации (-)
· необходимость мат знаний (-)
Примеры: LISP, SML, Haskell, Prolog
Процедурный язык
(программа представляет собой набор операторов, которые сгруппированы в отдельные блоки операторов - процедуры):
· более высокий уровень абстракции (+)
· меньшая машинная зависимость (+)
· более широкая совместимость (+)
· содержательная значимость текстов (+)
· унификация программного кода (+)
· увелич. производительности труда программистов(+)
· большие трудозатраты на обучение (-)
· меньшая эффективность программного кода (-)
|
|
Примеры: Fortran, ALGOL, PL/1, APL, BPL, Pascal, C, Basic, COBOL
Функциональный язык
(программа – функция, аргументы которой также возможно функции):
· автоматическое управление памятью (сборка мусора) (+)
· простота повторного использования кода (+)
· использование функций с параметрическими аргументами (+)
· абстрагирование от машинного представления данных (+)
· использование рекурсий (вызов самих себя) (+)
· удобство символьной обработки (+)
· нелинейная структура программы (-)
· низкая эффективность (-)
Примеры: LISP, SML, Haskell, CaML, Miranda, Hope
Объектно-ориентированный язык
(программа представляет описание объектов, совокупность отношений и взаимодействие между ними):
· описание любой предметной области (+)
· моделирование сложных предметных областей (+)
· событийная ориентированность (+)
· высокий уровень абстракции (+)
· повторное использование объектов (+)
· параметризация методов обработки объектов (+)
· сложность тестирования и верификации (-)
Примеры: С++, VB, C#, Eiffel, Oberon
Основные понятия и принципы ООП
Объектно-ориентированный язык
(программа представляет описание объектов, совокупность отношений и взаимодействие между ними):
|
|
· описание любой предметной области (+)
· моделирование сложных предметных областей (+)
· событийная ориентированность (+)
· высокий уровень абстракции (+)
· повторное использование объектов (+)
· параметризация методов обработки объектов (+)
· сложность тестирования и верификации (-)
Примеры: С++, VB, C#, Eiffel, Oberon
Принципы ООП:
1. Абстракция:
это выражение языка программирования, отличное от идентификаторов.
Переменная является значением абстракции.
Поведение абстракции это приложение функции к аргументу.
Моделируется при помощи лямбда- счисления
2. Наследование:
означает свойства произвольного объекта сохранять поведение базового объекта.
Моделируется наследование 2 подходами:
· Фреймовая нотация Руссополоса
· диаграмма Hasse
3. Инкапсуляция:
доступность объекта исключительно при помощи свойств и методов.
Свойства: совместное хранение данных и методов; скрытие внутренней информации об пользователе; изоляция пользователя от особенности реализации
4. Полиморфизм:
оперирование объектами не обладая точными значением их типов
Аспекты платформы .NET Framework
Платформа.net означает:
· Совокупность технологий, которые позволяют работать с инф. в любое время на любом устройстве
|
|
· Программы становятся услугами
· Платформа поддерживает различные языки
· Стандартная инфраструктура по разработке, использованию, хостингу и интеграции XML Web услуг
· Маркетинговая стратегия
Составляющие концепции:
· Новая идеология проектирования
· Модель поддержки жизненного цикла
· Современная, интегрированная платформа
· Современный инструментарий
1. Идеология:
· Легкость развертывания приложений в среде Интернет
· Эконом. разраб. путем испол. готовых компонентов
· Интеграция как с программными прод-ми, так и с аппаратными средствами
· Использование сервисов, кот предлагаются пользователям или приложениям
· Безопасность и удобство использования
2. Модель:
§ компонентный подход
§ универ. сист. типизации (любой тип является объектом)
§ иерархия (упорядочивание классов)
§ универсальный интерфейс
§ вариативность экземпляров прогр-го об-я
3. Платформа:
· многоязыковая поддержка
· интерапирабельность (повт-е исп-е кода) и масштабируемость
· унификация доступа к библиотекам
· соответствие современным стандартам
4. Инструментарий:
· многоязыковая среда
· создание компонентов на наиболее подходящем языке
|
|
· доступность средств данной платформы для широкого использования
· одинаковость сервисных возможностей
самостоятельность в разработке трансляторов
Архитектура .NET Framework
Компонентное программирование .NET Framework
Работы:
· 1924 – Шейнфинкель – простая теория функций
· 1934 – Черч – Лямбда- счисление, исследование теории множеств
· 1971 – Скотт - Полные и непрерывные решетки
· 80е – Скотт – исследование механизма определённых дескрипций
· 90е – Вольфангаген – схема двухуровневой концентрализации
Компоненты это:
· независимые повторно используемые и типизируемые модули
· в целом более крупные, чем объект
· могут содержать множественные классы
· независимы от языка реализации
Сравнение ООП и КОП:
1)Основные понятия Ооп
· класс
· интерфейс
2)основные понятия КОП
· свойства (property)
· события (event)
· сборка (assembly)
Модели КОП:
1) Component object model (com) – для конкретизации и использования компонента внутри процесса, между процессами и между компьютерами. Основа для Actuve X, OLE
2) Java beans- стандарт SunMicrosystem для компонентов (не является независимым от языка)
3) Corba- громоздкий IDL – интерфейс, сложность отображения одного языка в реализации другого.
Web- сервисы в .NET:
заменяют компонентный подход в среде Internet
1.программируемые компоненты приложений, доступные посредством стандартных Интернет-протоколов
2.центральная часть архитектуры .NET
3.распределяют функциональность по глобальной сети
4.строятся на существующих развивающихся стандартах
Преимущества КОП:
1. снижение стоимости ПО
2.возможность повторного использования
3.унификация обработки объектов различной природы
4.менее человекозависимый процесс создания ПО
5.строгое математическое основание (лямбда-счисление)
концепция универсальна и одинакова
9. Эволюция и основные возможности C#
Эволюция:
Начало развития в 1963г. Томпсон-язык B
1972г. Томпсон-язык С.
1984г. Язык С++
2000г. Язык С#.
Что такое С#:
· смесь С++, java, Delphi
· концепция разделения типов на ссылочные и значимые
· поддержка xml документации
Особенности программ на C#:
· Совокупность описаний (набор классов и интерфейсов)
· Классы содержат как один, так и много точек входа программы
· Программы состоят из нескольких файлов
Пространство имен может быть разнесено на несколько файлов
10. Структура программы и синтаксис конструкций C#
Конструкции:
§ элементарные
§ составные
§ прогр-е конст. упр-я switch и case
§ усл-е
§ повт. и циклов
§ перехода break, continue, return, goto
§ + конст. управления исключениями (throw, try-catch, finally)
спец. констр. (lock – блок. объектов, cheked/uncheked, fixed)
Дата добавления: 2018-04-15; просмотров: 470; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!