zhChinese    enEnglish
  ПМ-ПУ  » Образование  » Программы курсов  » Дисциплины специализаций » Технология COM в продуктах Microsoft

Технология COM в продуктах Microsoft

Специальный курс

Лектор: ассистент Д.В.Зарецкий

1. Обзор С++

Парадигмы программирования. Процедурное, модульное, объектно-ориентированное, обобщенное программирование.

2. Механизмы абстракции

Классы. Эффективные типы, определяемые пользователем. Объекты. Иерархии классов.

3. Компоненты

Преимущество использования компонентов. Требования к компонентам. COM.

4. Интерфейс.

Реализация интерфейса COM. Теория интерфейсов. Таблица виртуальных функций.

5. QueryInterface.

Запрос интерфейса. Правила и соглашения QueryInterface. Работа с новыми версиями компонентов.

6. Подсчет ссылок.

Управление временем жизни. Подсчет ссылок. Оптимизация подсчета ссылок.

7. Динамическая компоновка.

Создание компонента: экспорт функции из DLL, загрузка DLL.

8. HRESULT, GUID, Реестр

HRESULT: поиск и использование HRESULT, определение собственных кодов ошибки; GUID: объявление и определение, сравнение, использование GUID в качестве идентификаторов компонентов, передача GUID по ссылке; Реестр Windows: организация реестра, редактор реестра, саморегистрация, категории компонентов, OleView

9. Фабрика классов.

CoCreateInstance. Фабрики классов. Реализация фабрики классов. Несколько компонент в одной DLL. Выгрузка DLL.

10. Повторная применимость компонентов: включение и агрегирование.

Включение и агрегирование. Реализация включения. Реализация включения. Реализация агрегирования. Агрегирование и включение в реальном мире.

11. Серверы в EXE

Маршалинг. Введение в IDL/MIDL. Реализация локального сервера. Удаленный сервер.

12. Диспетчерские интерфейсы и автоматизация.

Использование IDispatch. Библиотеки типа. Реализация IDispatch.

13. Многопоточность.

Потоки модели COM. Реализация модели разделенных потоков. Реализация модели свободных потоков. Информация о потоковой модели в реестре.

14. Практическое использование COM объектов.

Применение COM объектов в языках программирования Visual C++, Visual Basic 6.0 на примере ADO. Автоматизация в продуктах Word, Excel c использованием VBA.

Литература

  1. Страуструп Б. Язык программирования С++. 3-е изд. М.: Нев. диалект: Бином, 1999.
  2. Керниган Б., Ритчи Д. Язык программирования Си. М.: Нев. диалект, 2000.
  3. Роджерсон Д. Основы COM. 2-е изд. М.: Изд.-торг. дом "Рус. ред." 2000.
  4. Бокс Д. Сущность технологии COM. М.: Питер, 2001.