Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Поняття збірки і маніфесту в .NETСодержание книги
Поиск на нашем сайте
Розглянемо особливості використання механізму збірок, найважливішої концепції компонентного програмування, стосовно мови C#. Нагадаємо, що під збіркою розуміється самодостатня виконувана одиниця, що містить всі необхідні дані для інсталяції, розгортання і повторного використання. Збірка є мінімальною одиницею для розгортання застосувань, тобто представляє собою своєрідний атом компонентного програмування. Кожний тип збірки характеризується унікальним ідентифікатором – номером версії збірки. Таким чином, кожний програмний проект формується у вигляді збірки, яка є самодостатнім компонентом для розгортання, тиражування і повторного використання. Збірка ідентифікується цифровим підписом автора і унікальним номером версії. Між збірками і просторами імен існує наступне співвідношення. Збірка може містити декілька просторів імен. В той же час, простір імен може займати декілька збірок. Збірка може мати в своєму складі як один, так і декілька файлів, які об'єднуються у складі маніфесту або опису збірки, який на звичній нам природній мові аналогічний змісту книги. Маніфест містить метадані про компоненти збірки, ідентифікацію автора і версії, відомості про типи і залежність, а також режим і політику використання збірки. Метадані типів маніфесту повною мірою описують всі типи, які описані в збірці. В результаті компіляції програмного коду на мові C# в середовищі обчислень.NET створюється або збірка, або так званий модуль. При цьому збірка існує у формі виконуваного файла (з розширенням EXE), або файла динамічно приєднуваної бібліотеки (з розширенням DLL). Природно, до складу збірки входить маніфест. Модуль є файлом з розширенням.NETMODULE і, на відміну від збірки, не містить в своєму складі маніфесту. Інтеграція в програмний проект інших модулів і ресурсів (зокрема, типів і метаданих) може бути здійснена за допомогою системного програмного забезпечення, відомого під назвою компонувальника збірок.
Лабораторна робота 1. Створення DLL-бібліотеки Мета роботи: 1. Створення DLL-бібліотеки 2. Створення рішення з кількох проектів (модулів) 3. Створення DLL-бібліотеки як окремого рішення. 4. Вивчення структури збірки, метаданих збірки
В платформі Microsoft.NET реалізовано компонентно-орієнтований підхід до програмування. Цей підхід до проектування і реалізації програмних систем і комплексів є розвитком об'єктно-орієнтованого і практично придатніший для розробки великих і розподілених систем. В компонентній моделі.Net компонентом є збірка, яка може бути у вигляді виконуваного файлу (з розширенням EXE), або файлу динамічної бібліотеки (з розширенням DLL). До складу збірки входить маніфест. Збірка є самодостатньою одиницею для розгортання, тиражування та повторного використання. Збірка має маніфест, який містить інформацію про збірку (метадані, які описують збірку).
Динамічна бібліотека DLL як тип компонента Динамічна бібліотека — набір функцій, скомпонованих разом у вигляді бінарного файла, який може бути динамічно завантажений в адресний простір процесу, що використовує ці функції. Динамічне завантаження (dynamic loading) — завантаження під час виконання процесу. Оскільки динамічні бібліотеки є двійковими файлами, можна організувати спільну роботу бібліотек, розроблених із використанням різних мов програмування і програмних засобів, що спрощує створення застосувань на основі програмних компонентів (отже, динамічне компонування лежить в основі компонентного підходу до розробки програмного забезпечення).
Створення DLL-бібліотеки Запустимо Visual Studio 2008, із стартової сторінки перейдемо до створення проекту, виберемо тип проекту «Class Library». У вікні створення DLL всі поля заповнені значеннями за замовчанням. Як правило, їх слід перевизначити, задаючи власну інформацію. У полі Name задати ім'я DLL – MyLib. У полі Location вказується шлях до каталогу, де зберігатиметься Рішення, що містить проект. У полі Solution вибраний елемент «Create New Solution», що створює нове Рішення. Альтернативою є елемент списку, вказуючий, що проект може бути доданий до існуючого Рішення. У вікні Solution Name задано ім'я Рішення. Зверніть увагу на інші установки, зроблені в цьому вікні, - включений прапорець (за замовчанням) «Create directory for solution», у верхньому віконці із списку можливих каркасів вибраний каркас Framework.Net 3.5. Задавши необхідні установки і клацнувши по кнопці «OK», отримаємо автоматично побудовану заготівку проекту DLL, відкриту в середовищі Visual Studio 2008. Імена класів повинні бути змістовними. Змінимо ім'я «Class1» на ім'я «MyFun». Для цього у вікні коду проекту виділимо ім'я змінної об'єкту, потім в головному меню виберемо пункт Refactor і підпункт Rename. У вікні, що відкрилося, вкажемо нове ім'я. Тоді будуть показані всі місця, що вимагають перейменування об'єкту. В даному випадку буде лише одна очевидна заміна, але в загальному випадку замін багато, так що автоматична заміна всіх входжень корисна. Наступний крок також продиктований правилом стилю – ім'я класу і ім'я файлу, що зберігає клас, повинні збігатися. Перейменування імені файлу робиться безпосередньо у вікні проектів Solution Explorer. І наступний крок продиктований також важливим правилом стилю, - додавання коментаря. Для цього в рядку перед заголовком класу слід набрати три слеша (три косі риски). В результаті перед заголовком класу з'явиться заголовний коментар – тег «summary», в який і слід додати короткий, але змістовний опис призначення класу. Теги «summary», якими слід супроводжувати класи, відкриті (public) методи і поля класу відіграють три важливі ролі. Вони полегшують розробку і супровід проекту, роблячи його самодокументованим. Клієнти класу при створенні об'єктів класу отримують інтелектуальну підказку, що пояснює суть того, що можна робити з об'єктами. Спеціальний інструментарій дозволяє побудувати документацію за проектом, що включає інформацію з тегів «summary». У нашому випадку коментар до класу MyFun може бути достатньо простим – «Обчислення математичних функцій». Напишемо реалізацію одного методу класу – обчислення функції Sin(x) через ряд Тейлора. Спочатку напишемо коментарі до методу (у форматі XML). Далі напишемо реалізацію методу. Отримаємо код. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace MyLib { ///Обчислення математичних фунцій
public class MySin { /// <summary> /// Sin(x) /// </summary> /// <param name="x">кут в радіанах – перший аргумент функції Sin</param> ///<param name="n">показник ступеня – другий аргумент функції Sin</param> /// <returns>Повертає значення функції Sin для заданого кута</returns> public static double Sin(double x, int n) { double result = 0; for (int i = 0; i < n; i++) { result = result + (Math.Pow((-1), i) * Math.Pow(x, (2 * i + 1))) / F(2 * i + 1); } return result; } static double F(int n) { double tmp = 1; for (int i = 1; i <= n; i++) { tmp = tmp * i; } return tmp;
}
} }
Побудуємо Рішення, що містить проект, для чого в Головному меню виберемо пункт Build|Build Solution. В результаті успішної компіляції буде побудований файл з уточненням dll. Він знаходиться в папці проекту .\bin\Debug Оскільки побудована збірка не містить виконуваного файлу, то безпосередньо запустити наш проект на виконання не удасться. Побудуємо консольний проект, до якого приєднаємо нашу DLL, і протестуємо, наскільки коректно працюють створені нами методи.
|
||||
Последнее изменение этой страницы: 2017-02-21; просмотров: 403; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.58.103.70 (0.006 с.) |