31883

Моделі реалізації об’єктно-орієнтованих систем

Контрольная

Информатика, кибернетика и программирование

У кожного інтерфейсу СОМ два імена. Простої, символьне імя призначене для людей, воно не унікально (допускається, щоб це імя було однаковим у двох інтерфейсів). Інше, складне імя призначене для використання програмами. Програмне імя унікальне, це дозволяє точно ідентифікувати інтерфейс.

Украинкский

2013-09-01

57.5 KB

0 чел.

Міністерство освіти та науки України

КІСТ КНЕУ ім. В. Гетьмана

Самостійна робота № 1

з предмету: "Технологія програмування та створення програмних продуктів ”

на тему: "Моделі реалізації об’єктно-орієнтованих систем"

за ІІ семестр 2010-2011 н.р.

Київ - 2010

Ідентифікація інтерфейсу

У кожного інтерфейсу СОМ два імена. Простої, символьне ім'я призначене для людей, воно не унікально (допускається, щоб це ім'я було однаковим у двох інтерфейсів). Інше, складне ім'я призначене для використання програмами. Програмне ім'я унікальне, це дозволяє точно ідентифікувати інтерфейс.

Прийнято, щоб символьні імена Сомів-інтерфейсів починалися з букви І (від Іnterface). Наприклад, згаданий нами інтерфейс для роботи з файлами повинний називатися Іработа с файлами, а інтерфейс перетворення їхніх форматів – Іпреобразование форматів.

Програмне ім'я будь-якого інтерфейсу утвориться за допомогою глобально унікального ідентифікатора (globally unіque іdentіfіer - GUІ). GUІ інтерфейсу вважається ідентифікатором інтерфейсу (іnterface іdentіfіer - ІІ). GUІ - це 16-байтовая величина (128-бітове число), генеруємо автоматично.

Унікальність у часі досягається за рахунок включення в кожен GUІ мітки часу, покажчика моменту створення. Унікальність у просторі забезпечується цифровими параметрами комп'ютера, що використовувався для генерації GUІ.

Опис інтерфейсу

Для визначення інтерфейсів застосовують спеціальну мову - мова опису інтерфейсів (Іnterface Defіnіtіon Language - ІDL). Наприклад, ІDL-описание інтерфейсу для роботи з файлами 1Работасфайлами має вид:

[ object.

uuid(E7CDODOO-1827-11CF-9946-444553540000) ]

interface IРаботаСФайлами: IUnknown {

import "unknown.idl"

HRESULT ОткрытьФайп ([in] OLECHAR имя [31]);

HRESULT ЗаписатьФайл ([in] OLECHAR имя [31]);

HRESULT ЗакрытьФайл ([in] OLECHAR имя [31]);

}

Реалізація інтерфейсу

СОМ задає стандартний двійковий формат, що повинний реалізувати кожен СОМ-об'єкт і для кожного інтерфейсу. Стандарт гарантує, що будь-який клієнт може викликати операції будь-якого об'єкта, причому незалежно від мов програмування, на яких написаний клієнт і об'єкт.

Обробка клієнтського виклику виконується в наступному порядку:

  •  за допомогою покажчика на віртуальну таблицю витягається покажчик на необхідну операцію інтерфейсу;
  •  покажчик на операцію забезпечує доступ до її реалізації;
  •  виконання коду операції забезпечує необхідну послугу.

Unknown - базовий інтерфейс COM

Інтерфейс lUnknown забезпечує мінімальне "спорядження" кожного об'єкта СОМ. Він містить три операції і надає будь-як об'єкту СОМ дві функціональні можливості:

  •  операція Querylnterface() дозволяє клієнту одержати покажчик на будь-який інтерфейс об'єкта (з іншого покажчика інтерфейсу);
  •  операції AddRef() і Release() забезпечують механізм керування часом життя об'єкта.

Одержання покажчика на інтерфейс за допомогою Querylnterface: 1 - за допомогою

покажчика на інтерфейс А клієнт запитує покажчик на інтерфейс У, викликаючи

Querylnterface (ІІ_B); 2 - об'єкт повертає покажчик на інтерфейс У;

3 - тепер клієнт може викликати операції з інтерфейсу В

Правила фіналізації СОМ-об'єкта дуже прості:

  •  при видачі клієнту покажчика на інтерфейс виконується СЧС+1;
  •  при виклику операції AddRef виконується СЧС+1;
  •  при виклику операції Release виконується СЧС-1;
  •  при СЧС=0 об'єкт знищує себе.
  •  Звичайно, клієнт повинний допомагати гідному харакірі об'єкта-самурая:
  •  при одержанні від іншого клієнта покажчика на інтерфейс СОМ-об'єкта він повинний викликати в цьому об'єкті операцію AddRef;
  •  наприкінці  роботи з об'єктом він зобов'язаний викликати його операцію Release.

Створення СОМ- об'єктів

Створення СОМ-об'єкта базується на використанні функцій бібліотеки СОМ. Бібліотека СОМ:

  •  містить функції, що пропонують базові послуги об'єктам і їх клієнтам;
  •  надає клієнтам можливість запуску серверів СОМ-об'єктів.

Доступ до послуг бібліотеки СОМ виконується за допомогою викликів звичайних функцій. Найчастіше  імена функцій бібліотеки СОМ починаються з префікса "З". Наприклад, у бібліотеці мається функція CoCreateіnstance.

Для створення Сома-об'єкта клієнт викликає функцію бібліотеки СОМ CoCreateіnstance. Як  параметри цієї функції посилаються ідентифікатор класу об'єкта CLSІ і ІІ інтерфейсу, підтримуваного об'єктом. За допомогою CLSІ бібліотека шукає сервер класу (це робить диспетчер керування сервісами SCM - Servіce Control Manager). Пошук виробляється в системному реєстрі (Regіstry), що відображає CLSІ на адресу  коду сервера, що виконується. У системному реєстрі повинні бути зареєстровані класи всіх Сомів-об'єктів.

Створення одиночного Сома-об'єкта: 1 - клієнт викликає CoCreatelnstance

(CLSІ M, ІІ А); 2 - бібліотека СОМ знаходить сервер і запускає його;

3 - бібліотека СОМ повертає покажчик на інтерфейс А;

4 - тепер клієнт може викликати операції Сома-об'єкта

Параметри функції CoCreateіnstance, використовуваної клієнтом, дозволяють також задати тип сервера, якому потрібно запустити (наприклад, "у процесі" чи локальний).

Повторне використання СОМ-об'єктів

Причина - у типовому СОМ-середовищі базові об'єкти й об'єкти-спадкоємці створюються, випускаються й обновляються незалежно. У цих умовах зміни базових об'єктів можуть викликати непередбачені наслідки в об'єктах-спадкоємцях їхньої реалізації. СОМ пропонує інші засоби повторного використання - включення й агрегурувание.

Застосовуються наступні терміни:

  •  внутрішній об'єкт - це базовий об'єкт;
  •  зовнішній об'єкт - це об'єкт, що повторно використовує послуги внутрішнього об'єкта.

Достоїнство включення - простота. Недолік - низька ефективність при довгому ланцюжку "делегують " об'єктів.

Недолік включення усуває агрегирование. Воно дозволяє зовнішньому об'єкту обманювати клієнтів - представляти в якості власні інтерфейси, реалізовані внутрішнім об'єктом.

Повторне використання СОМ-об'єкта за допомогою агрегирования.

Представимо дві практичні задачі:

  •  запит клієнтом у внутрішнього об'єкта (за допомогою операції Querylnterface) покажчика на інтерфейс зовнішнього об'єкта;
  •  зміна клієнтом лічильника посилань внутрішнього об'єкта (за допомогою операції AddRef) і інформування про цьому зовнішнього об'єкта.

КОНТРОЛЬНІ ПИТАННЯ:

  1.  Як можна ідентифікувати інтерфейс?
  2.  Розглянути опис інтерфейсу?
  3.  Як виконується обробка клієнтського виклику?
  4.  Розписати про базовий інтерфейс СОМ (операції, правила фіналізації).
  5.  Для чого використовуються повторні СОМ – об’єкти?
  6.  Створити в MS Visio СОМ – об’єкт.


 

А также другие работы, которые могут Вас заинтересовать

23010. Мовознавство теоретичне і прикладне 31.5 KB
  Мовознавство або лінгвістика наука про природну людську мову загалом і про всі мови світу як її індивідуальних представників. Прикладне мовово напрям у мовознавстві який опрацьовує методи вирішення практичних завдань повязаних із використанням мови. Теоретичне мовознавство включає лише лінгвістичні проблеми що стосуються найсуттєвіших ознак мови як суспільного явища в її відношенні до інших явищ дійсності. У такому разі загальне мовознавство лінгвістична дисципліна яка вивчає всі мови світу і є ніби узагальненням конкретних...
23011. Основні проблеми загального мовознавства 30.5 KB
  Основні проблеми загального мовова Мовознавство або лінгвістика наука про природну людську мову загалом і про всі мови світу як її індивідуальних представників. Загальне мовознавство вивчає загальні особливості мови як людського засобу спілкування а також структуру й закономірності функціонування всіх мов світу. До них належать суть мови її природа походження закони розвитку звязок із мисленням культурою. Цей курс охоплює такі основні проблеми: природу і сутність мови в науці немає єдиного розуміння цієї проблеми різні напрями...
23012. Методи дослідження в мовознавстві 35 KB
  Методи дослідження в мовові Термін метод від гр. дослідження вчення шлях пізнання неоднозначний: він уживається в загальнонауковому філософському значенні у спеціальнонауковому що стосується певної галузі науки: в значенні прийом спосіб дії яке звичайно позначається словом методика. їх часто називають методами. наведення метод дослідження згідно з яким на підставі знання про окреме роблять висновок про загальне.
23013. Синхронічний та діахронічний аспекти вивчення мовних одиниць 33 KB
  syn разом і chronos час тобто одночасність 1 стан мови в певний момент її розвитку в певну епоху; 2 вивчення мови в цьому стані в абстракції від часового чинника. dia через і chronos час тобто різночасність 1 історичний розвиток мови; 2 дослідження мови в часі в її історичному розвитку. Поступові кількісні зміни у мові протягом століть зумовили Якісні зміни причому такі що сучасному мовцеві важко зрозуміти давні тексти. Відповідно в мовознавстві розрізняють стан мови та розвиток мови.
23014. Проблема походження мови, основні теорії походження мови 43.5 KB
  Проблема походження мови основні теорії походження мови. Проблема походження мови є дуже складною. проблему походження мови порушувалася в межах філософських дискусій про сутність мови. Представники школи Платона вважали що назви предметам даються не довільно а відповідно до їх Природи що свідчить про природний характер мови і відповідно закономірну біологічну зумовленість її виникнення.
23015. Синтагматичний та парадигматичний аспекти дослідження мовних одиниць 28 KB
  Синтагматичний та парадигматичний аспекти дослідження мовних одиниць. Синтагматика один із двох системних аспектів у вивченні мови який розглядає відношення між послідовно розташованими одиницями за їхнього безпосереднього поєднання в реальному потоці мовлення або в тексті тобто сполучуваність мовних одиниць. Парадигматична методика охоплює опозиційний прийом на основі зіставлення і протиставлення мовних одиниць встановлюються їх диференційні ознаки а на основі спільності й відмінності одиниці об'єднуються в різні парадигматичні...
23016. Фактори розвитку мов. Поняття національна мова, літературна мова 29 KB
  Поняття національна мова літературна мова. Літературна мова унормована мова суспільного спілкування загальноприйнята в писемній та усній практиці. Літературна мова одна із форм національної мови що існує поряд з іншими її формами діалекти просторіччя мова фольклору.мови нормованість кодифікованість полі функціональність загально значущість наявність не тільки писемного а й усного різновиду.
23017. Семіотика як наука про знакові системи 35 KB
  Вивчення мови на рівних правах і тотожними методами мислиться в складі семіології єдиної науки про знаки. За першою класифікацією всі знаки поділяють на знакиіндекси знакикопії знакисигнали і знакисимволи. Знакиіндекси знакиприкмети і знакисимптоми знаки пов'язані з позначуваними предметами як дії зі своїми причинами. Знакикопії відтворення репродукції подібні на позначувані предмети.
23018. Мова як особлива знакова система 34 KB
  Мова як особлива знакова система. Знак матеріальний чуттєво сприйманий предмет який є представником іншого предмета і використовується для отримання зберігання і передачі інформації У світі існують різноманітні системи знаків які служать для передачі інформації. Серед них наприклад дорожні знаки морська сигналізація прапорцями та інші знаки. Основними ознаками знака є матеріальність його можна бачити чути тобто сприймати органами чуттів використання його для позначення чогось що перебуває поза ним інформативність.