- •Міжнародний науково-технічний університет імені академіка юрія бугая Крос-платформне програмування
- •Лекція 1. Компонентна ідеологія
- •1.1. Поняття крос-платформності, її типи
- •1. На рівні мови програмування
- •2. На рівні прикладних програм
- •3. На рівні операційної системи
- •Емуляція
- •1.2. Визначення та властивості компонентів. Специфікація інтерфейсу як контракту
- •2. Компонент повинен працювати в будь-якому середовищі, де є необхідні для його роботи інші компоненти.
- •3. Компоненти відрізняються від класів об'єктно-орієнтованих мов.
- •4. Компоненти не залежать від мов програмування.
- •1.3. Модель посилань (узагальнена модель компонентної системи)
- •1.4. Компонента модель .Net Framework. Типи компонентів
- •1.5. Динамічна бібліотека dll як приклад компонента
- •1.5.1. Створення dll-бібліотеки
- •1.5.2. Створення консольного проекту для тестування функції з бібліотеки
- •1.5.3 Створення Windows-проекту в тому самому рішенні
- •1.5.4. Створення dll-бібліотеки як окремого рішення (в іншому процесі)
1.5.4. Створення dll-бібліотеки як окремого рішення (в іншому процесі)
Основна мета створення і використання DLL-бібліотек – забезпечення повторного використання коду. Тому в реальних системах різні компоненти можуть викликати однакові бібліотечні методи. Для цього DLL-бібліотека повинна знаходитися в окремому рішенні.
Для підключення бібліотеки до проекту файл зі збіркою, що містить бібліотеку потрібно підключити з меню «Add Reference». Оскільки проект не включений в Рішення, то у вікні додавання посилань потрібно вказати шлях до проекту у файловій системі.
Висновки
Важливим наслідком реалізації компонентного підходу є зниження вартості проектування ПЗ.
До переваг компонентного програмування слід віднести і можливість удосконалення стратегії повторного використання коду.
В платформі Microsoft .NET реалізовано компонентно-орієнтований підхід до програмування. Цей підхід до проектування і реалізації програмних систем і комплексів є розвитком об'єктно-орієнтованого і практично придатніший для розробки великих і розподілених систем.
В компонентній моделі .Net компонентом є збірка, яка може бути у вигляді виконуваного файлу (з розширенням EXE), або файлу динамічної бібліотеки (з розширенням DLL). До складу збірки входить маніфест.
Збірка є самодостатньою одиницею для розгортання, тиражування та повторного використання.
Збірка має маніфест, який містить інформацію про збірку (метадані, які описують збірку).
Велику роль в сучасних системах відіграють бібліотеки повторного використання, зокрема DLL-бібліотеки.
DLL-бібліотеки містять методи, які викликаються динамічно при роботі програмної системи. Вони є окремими компонентами з розширенням .dll. Інтерфейсом бібліотеки є відкриті (public) методи і поля бібліотечних класів. DLL-бібліотека не містить точки входу (main), тому її методи можуть викликатися лише іншими компонентами. Разом з цим, в бібліотеці можуть бути і закриті методи класу, які викликаються методами в середині бібліотеки. DLL-бібліотеки – основа компонентної ідеології і повторного використання коду.
Контрольні запитання та завдання
1. Що таке інтерфейс компонента і яке його призначення?
2. Що таке компонент, чим він відрізняється від класу?
3. Що визначає інтерфейсний контракт? Що являє собою інтерфейс компонента?
4. Основні властивості компонентів?
5. Рівні кросплатформності і різниця між ними?
6. Для чого в Dot.Net використовується компіляція через проміжний код?
7. Для чого використовується компонентний каркас?
8. Що таке компонентна модель і яке її призначення?
9. Що таке DLL-бібліотека? Чим вона відрізняється від консольного проекту?
10. Для чого потрібно XML-документування коду? Як воно допомагає при написанні виклику бібліотечних методів?
11. Чому бібліотечні методи повинні визначатися з модифікатором доступу public?
12. Що є інтерфейсним контрактом бібліотеки?
