|
Скачати 51.17 Kb.
|
Створення бібліотек компонентів Динамічна бібліотека (DLL) — набір функцій, скомпонованих разом у вигляді бінарного файлу, який може бути динамічно завантажений в адресний простір процесу, що використовує ці функції. Динамічне завантаження (dynamic loading) — завантаження під час виконання процесу. DLL-бібліотеки – основа компонентної ідеології і повторного використання коду. Оскільки динамічні бібліотеки є двійковими файлами, можна організувати спільну роботу бібліотек, розроблених із використанням різних мов програмування і програмних засобів, що спрощує створення застосунків на основі програмних компонентів. Технологія створення DLL 1. Запустіть Visual Studio 2. В головному меню виберіть пункт File|New|Project, задайте шаблон проекту «Class Library». У вікні створення DLL всі поля заповнені значеннями за замовчанням. Їх слід перевизначити, задаючи власну інформацію. Задавши необхідні установки і клацнувши по кнопці «OK», отримаємо автоматично побудований проект DLL, відкритий в середовищі Visual Studio. Імена класів повинні бути змістовними. Змініть ім'я «Class1» на ім'я бібліотеки, наприклад, «MySin». Для цього у вікні коду проекту виділіть ім'я змінної об'єкту, потім в головному меню виберіть пункт Refactor і підпункт Rename. У вікні, що відкрилося, вкажіть нове ім'я. Тоді будуть показані всі місця, що вимагають перейменування об'єкту. В нашому прикладі буде лише одна очевидна заміна, але в загальному випадку замін багато, так що автоматична заміна всіх входжень корисна. Наступний крок також продиктований правилом стилю – ім'я класу і ім'я файлу, що зберігає клас, повинні бути однаковими. Перейменування імені файлу робиться безпосередньо у вікні проектів Solution Explorer. І наступний крок, продиктований також важливим правилом стилю, - додавання коментаря. Для цього в рядку перед заголовком класу слід набрати три слеша (три косі риски). В результаті перед заголовком класу з'явиться заголовний коментар – тег «summary», в який і слід додати короткий, але змістовний опис призначення класу. Теги «summary», якими слід супроводжувати класи, відкриті (public) методи і поля класу відіграють три важливі ролі. Вони полегшують розробку і супровід проекту, роблячи його самодокументованим. Клієнти класу при створенні об'єктів класу отримують інтелектуальну підказку, що пояснює суть того, що можна робити з об'єктами. Спеціальний інструментарій дозволяє побудувати документацію за проектом, що включає інформацію з тегів «summary». У нашому випадку коментар до класу MySin може бути достатньо простим – «Обчислення математичних функцій ». Напишемо реалізацію одного методу класу – обчислення функції Sin(x) через ряд Тейлора. Спочатку напишемо коментарі до методу (у форматі XML). Далі напишемо реалізацію методу. Отримаємо код. Лістинг 2. Код бібліотечного методу using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace MyLib { ///Обчислення математичних фунцій public class MySin { /// /// Sin(x) /// /// кут в радіанах – перший аргумент функції Sin /// показник ступеня – другий аргумент функції Sin /// Повертає значення функції Sin для заданого кута 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. Оскільки побудована збірка не містить виконуваного файлу, то безпосередньо запустити наш проект на виконання не удасться. Побудуємо консольний проект, до якого приєднаємо нашу DLL, і протестуємо, наскільки коректно працюють створені нами методи. Створення консольного проекту для тестування функції з бібліотеки1. Виберіть пункт меню File|New|Project, задайте тип проекту ConsoleApp2, назвіть його – ConsoleMySin, вкажіть, що проект додається до існуючого Рішення. В результаті у вже існуюче Рішення додасться ще один проект. 2. Напишіть код, який викликає реалізовану функцію Sin(x,n), стандартну функцію Sin(x), обчислює похибку і виводить результат на консоль. Лістинг 3. Консольний застосунок, який викликає бібліотечний метод using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleMySin { class Program { /// /// Виклик бібліотечного методу Sin(x,n) з MySin.dll /// /// static void Main(string[] args) { Console.WriteLine("Введіть x- кут в радіанах"); double x = double.Parse(Console.ReadLine()); Console.WriteLine("Введіть показник ступеня n"); int n = int.Parse(Console.ReadLine()); //виклик метода обчислення sin(x) бібліотеки double my_sinus = MyLib.MySin.Sin(x, n); //виклик метода з класу Math double sinus = Math.Sin(x); double delta = sinus - my_sinus; Console.WriteLine("my_sinus= {0},sin={1},delta={2}", my_sinus, sinus, delta); Console.ReadKey(); } } } 3. Побудуйте рішення і отримаєте повідомлення про помилку. Наша бібліотека не підключена до проекту. 4. Підключення проекту бібліотеки до консольного проекту. Для цього додайте посилання на проект з DLL MySin. У вікні Solution Explorer наведіть покажчик миші до імені консольного проекту і з контекстного меню виберіть пункт меню «Add Reference». Виберіть вкладку «Projects». Оскільки проект MySin включений в Рішення, то він автоматично з'явиться у вікні. Якщо посилання потрібно встановити на проект, не включений в Рішення, то у вікні додавання посилань потрібно вказати шлях до проекту. Посилання на DLL з'явиться в папці «References» консольного проекту. Тепер проекти зв'язані і з консольного проекту доступний реалізований бібліотечний метод. 5. Перебудуйте рішення, щоб не було помилок. 6. Встановлення стартового проекту. У вікні Solution Explorer наведіть курсор миші на заголовок консольного проекту і виберіть: Set as StartUp Project Після цього його можна запустити на виконання. |
ЛЕКЦІЯ (Група 3-А, ІМФТО) Тема: «Візуальні компоненти мови Delphi» Мета: ознайомлення з бібліотекою візуальних компонентів мови Delphi; формування знань щодо властивостей деяких візуальних компонентів,... |
РОБОЧІ ТАБЛИЦІ ББК ДЛЯ ШКІЛЬНИХ БІБЛІОТЕК На жаль, до шкільних бібліотек України вони практично не потрапили. Крім того, розроблені в Росії, ці таблиці не завжди відповідають... |
Положення про проведення районного огляду-конкурсу клубів за інтересами... Районний огляд-конкурс проводиться серед міських, селищних та сільських бібліотек-філій ЦБС з метою удосконалення професійних і творчих... |
Державна наукова установа "Книжкова палата України імені Івана Федорова"... Доповідь "Корпорація "Електронний Архів": досвід створення электронних каталогів бібліотек" |
Закон України "Про донорство крові та її компонентів" Розвиток донорства крові та її компонентів є важливою соціально необхідною справою держави. Цей Закон регулює відносини, пов'язані... |
УРОК НАСЛІДКИ ДЕГРАДАЦІЇ ПРИРОДНИХ КОМПОНЕНТІВ Цілі уроку Цілі уроку: ознайомити учнів із наслідками деградації природних компонентів; розвивати вміння використовувати знання попередніх... |
ПРОГРАМА КУРСУ «Інноваційні зміни в бібліотеці на основі проектного,... «Інноваційні зміни в бібліотеці на основі проектного, кадрового менеджменту та ініціативної діяльності бібліотек» |
Рекомендації до планування роботи шкільних бібліотек загальноосвітніх... Рекомендації до планування роботи шкільних бібліотек загальноосвітніх навчальних закладів на 2015/2016 н р |
ВСТУП КОНЦЕПЦІЯ ІНФОРМАТИЗАЦІЇ МЕРЕЖІ БІБЛІОТЕК ЗАГАЛЬНООСВІТНІХ НАВЧАЛЬНИХ ЗАКЛАДІВ УКРАЇНИ |
УРОК ПОНЯТТЯ «ДЕГРАДАЦІЯ ПРИРОДИ». ОСНОВНІ ПРИЧИНИ ДЕГРАДАЦІЇ ПРИРОДНИХ КОМПОНЕНТІВ Цілі уроку УРОК ПОНЯТТЯ «ДЕГРАДАЦІЯ ПРИРОДИ». ОСНОВНІ ПРИЧИНИ ДЕГРАДАЦІЇ ПРИРОДНИХ КОМПОНЕНТІВ |