Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5fan_ru_ПАРАДИГМИ ПРОГРАМУВАННЯ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.32 Mб
Скачать

Управління типами в cts

• Типи можуть використовуватися після ініціалізації (з урахуванням методу виклику, властивостей get і set і т.д.).

• Над типами можуть виконуватися перетворення (як явним, так і неявним чином).

5.2. Розробка компонентів на платформі .Net

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

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

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

Сімейство мов, які компілюються в проміжну мову (Intermediate Language або IL, тобто в так званий керований код) об'єднується в Microsoft Intermediate Language або MSIL.

Потім проміжна мова IL завжди компілюється в цільовий (native) код перед виконанням програми.

Для більш ефективного маніпулювання системою типізації компонент створюваного програмного забезпечення в рамках моделі COM, концепція .NET передбачає механізм просторів імен (namespace).

Описи просторів імен по аналогії з описами типів даних розміщуються у файлах.

Розглянемо основні властивості, якими характеризуються простори імен в середовищі Microsoft .NET.

Перш за все, простори імен можуть як об'єднувати різні збірки, так і бути вкладеними один в одного. Крім того, файли з описами можуть містити множинні простори імен. Важливо відзначити, що між просторами імен і файлами не існує однозначної відповідності. Нарешті, повне ім'я типу повинне містити всі необхідні простори імен.

Окрім цих властивостей механізм просторів імен в середовищі обчислень .NET має ще ряд важливих особливостей.

Так, допускається імпорт просторів імен з використанням зарезервованого слова using мови програмування C#.

Наприклад,

using System;

5.3. Поняття збірки і маніфесту в .Net

Розглянемо особливості використання механізму збірок, найважливішої концепції компонентного програмування, стосовно мови C#.

Нагадаємо, що під збіркою розуміється самодостатня виконувана одиниця, що містить всі необхідні дані для інсталяції, розгортання і повторного використання.

Збірка є мінімальною одиницею для розгортання застосувань, тобто представляє собою своєрідний атом компонентного програмування.

Кожний тип збірки характеризується унікальним ідентифікатором – номером версії збірки. Таким чином, кожний програмний проект формується у вигляді збірки, яка є самодостатнім компонентом для розгортання, тиражування і повторного використання. Збірка ідентифікується цифровим підписом автора і унікальним номером версії.

Між збірками і просторами імен існує наступне співвідношення. Збірка може містити декілька просторів імен. В той же час, простір імен може займати декілька збірок.

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

В результаті компіляції програмного коду на мові C# в середовищі обчислень .NET створюється або збірка, або так званий модуль. При цьому збірка існує у формі виконуваного файла (з розширенням EXE), або файла динамічно приєднуваної бібліотеки (з розширенням DLL). Природно, до складу збірки входить маніфест. Модуль є файлом з розширенням .NETMODULE і, на відміну від збірки, не містить в своєму складі маніфесту. Інтеграція в програмний проект інших модулів і ресурсів (зокрема, типів і метаданих) може бути здійснена за допомогою системного програмного забезпечення, відомого під назвою компонувальника збірок.

Лабораторна робота 1. Створення DLL-бібліотеки

Мета роботи:

1. Створення DLL-бібліотеки

2. Створення рішення з кількох проектів (модулів)

3. Створення DLL-бібліотеки як окремого рішення.

4. Вивчення структури збірки, метаданих збірки

В платформі Microsoft .NET реалізовано компонентно-орієнтований підхід до програмування.

Цей підхід до проектування і реалізації програмних систем і комплексів є розвитком об'єктно-орієнтованого і практично придатніший для розробки великих і розподілених систем.

В компонентній моделі .Net компонентом є збірка, яка може бути у вигляді виконуваного файлу (з розширенням EXE), або файлу динамічної бібліотеки (з розширенням DLL). До складу збірки входить маніфест.

Збірка є самодостатньою одиницею для розгортання, тиражування та повторного використання.

Збірка має маніфест, який містить інформацію про збірку (метадані, які описують збірку).

Динамічна бібліотека DLL як тип компонента

Динамічна бібліотека — набір функцій, скомпонованих разом у вигляді бінарного файла, який може бути динамічно завантажений в адресний простір процесу, що використовує ці функції. Динамічне завантаження (dynamic loading) — завантаження під час виконання процесу.

Оскільки динамічні бібліотеки є двійковими файлами, можна організувати спільну роботу бібліотек, розроблених із використанням різних мов програмування і програмних засобів, що спрощує створення застосувань на основі програмних компонентів (отже, динамічне компонування лежить в основі компонентного підходу до розробки програмного забезпечення).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]