developing.ru - клуб программистов Здесь может быть и ваша реклама.
developing.ru >технология COM >
Михаил Безверхов
aspid@developing.ru

Архив статей "Что такое "технология COM"

Введение в предмет

Начала философии

  • COM - что должен знать допризывник

    Понятия "процесса", "потока" и "адресного пространства"; концепция архитектуры "клиент-сервер"

  • С чего начинается COM?

    Абстракция объекта; концепция взаимодействующих объектов и её возможная архитектура; динамическая компоновка "пойди туда, не знаю куда"; сценарий взаимодействия объектов;

  • Что почём в этом COM?

    Философия взаимодействия объектов; стоимость и меры ее измерения; является ли стоимость препятствием и где на самом деле оно расположено;

  • Именование потенциальных COM-объектов

    Объекты и статические типы; проблема вселенской уникальности имён; что в имени тебе моём?; машинный алгоритм или людская организация?; UUID и GUID; форма записи GUID; программы-генераторы uuidgen и guidgen;

  • Где COM хранит имена статических типов

    Служба системного реестра; иерархическая база данных; графический редактор реестра; части, разделы и параметры реестра; regedit.exe

  • ... и что именно COM хранит

    Главный раздел системного реестра, используемый COM; набор информации связанной с GUID; ссылка на модуль сервера

  • У кого и как добиться получения COM-объекта

    Cтроение DLL; таблицы EXPORTS и IMPORTS; утилита dumpbin.exe; функции DllGetClassObject и CoCreateInstance

  • Интерфейс или протокол?

    Концепция интерфейса; спецификация взаимодействия - самостоятельная сущность; отличия интерфейса и протокола; объекты и интерфейсы

  • Скажите, все ли письма телезрителей вы придумываете сами?

    Организационно-методические вопросы; языки примеров; технические средства, используемые в цикле статей; литература; отличие данной рассылки от других источников информации

Компоненты "до COM"

  • Откуда суть пошли интерфейсы программные?

    Абстрактный класс и статический тип; сокрытие инфраструктуры объекта; разбиение проекта на единицы независимой компиляции; недостаточность аппарата абстрактных классов

  • Клиенту - клиентово, а серверу - серверово

    Разделение функциональности между клиентом и сервером; трудности идентификации статического типа и интерфейса; идентификация парой "статический тип - интерфейс"; виртуальные абстрактные классы

  • Введение в теорию компиляции. И выведение из неё...

    Анатомия двоичных структур модуля; как работает компилятор; как выглядит клиент-серверное взаимодействие "глазами процессора"; двоичные структуры, соответствующие виртуальному абстрактному классу

  • COM в эпоху неолита

    Примитивный, но работающий пример реализации изложенных принципов; реализация DLL-протосервера и вызов ее EXE-протоклиентом; пример действительно компонентной архитектуры "до COM"

  • Неолитическое искусство глазами искусствоведа

    Особенности архитектурного решения клиент-серверного взаимодействия; достаточность предложенного решения для взаимодействия с объектом, но недостаточность его для управления объектом

  • Самозарождение невозможно. А самоубийство?

    Возможное решение проблемы управления объектом в контексте сервера; необходимые и достаточные для управления функции; как реализовать такую функциональность

Базовые понятия COM

Прорыв за границу процесса

  • Жизнь - это процесс...

    Понятия "потока", "процесса", "изолированного адресного пространства". Проблемы, которые они вызывают при организации взаимодействия компонентов

  • А процесс - это химия...

    Изолированное адресное пространство; реализация этой концепции в Win32; причины возникновения "виртуальной памяти"

  • А процесс - это химия и физика

    Поток и процесс;Многопоточное программирование в Win32; синхронизаторы; COM и синхронизация потоков

  • Соблюдай дистанцию!

    Эмуляция вызова локальной процедуры; Передача управления в другой поток в другом процессе; Синхронизация потоков клиента и сервера

  • О пользе "и.о."

    Разделение компонентов между процессами; Компоненты-заместители; proxy и stub и их реализация; "Основная теорема алгебры" COM

  • Типа библиотека...

    Три стороны одного, центрального для COM явления; Библиотека типов; Язык IDL и абстрактное описание интерфейсов; Компилятор MIDL; Утилита Oleview;

  • Ошибка резидента

    Ошибки в COM; Два рода ошибок; Архитектурные замечания о перехвате исключений внутри сервера; О механизме передачи ошибки от сервера клиенту; Объект с интерфейсом IErrorInfo;

  • "Косой" на связь не вышел...

    Ошибки "второго рода"; Структурность кода ошибки; типы данных SCODE и HRESULT; составные части кода ошибки в COM; Код ошибки, как видимое проявление целой подсистемы;

  • "Надежда" работает под контролем.

    Ошибки "первого рода"; механизм передачи этих ошибок; философия трансформации абстракции ошибки; интерфейсы IErrorInfo, ICreateErrorInfo и ISupportErrorInfo;

  • ...И гений, интерфейсов друг...

    Наследование в COM; наследование поведения; наследование реализации и наследованеи интерфейса; философия наследования; агрегирование и включение;

Рассылки Subscribe.Ru
Что такое "технология COM" и как с ней бороться?
Авторские права © 2001 - 2004, Михаил Безверхов
Публикация требует разрешения автора

разделы сайта

форум

технология COM

оптимизация сайтов


© 2000-2004 Клуб программистов developing.ru