Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Konspekt_lektsiy.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

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

Черговим етапом розвитку прикладного програмування стала поява об'єктно-орієнтованих мов, таких як С++, Visual Basic, Delphi та інших, які зробили можливою розробку програм, що займають величезний об'єм оперативної пам'яті і складаються з сотень тисяч і більше рядків програмного коду. Сьогодні нараховується значна кількість мов програмування. Деякі з них мають декілька версій-діалектів.

Ідея об'єктно-орієнтованого програмування вперше була висунута в мові Small talk. У об'єктно-орієнтоване програмування введено поняття об'єкту і реалізовані механізми обчислень, що дозволяють:

- описувати структуру об'єкту;

- описувати дії з об'єктами; .

- використовувати спеціальні правила спадкоємства об'єктів;

- встановити різний ступінь захисту компонентів об'єктів і визначити різні права доступу до них.

Основні характеристики об'єктно-орієнтованих мов програмування - інкапсуляція, поліморфізм і спадковість, які більш детально будуть розглянуті пізніше.

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

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

Спадковість означає створення нових об'єктів з використанням вже існуючих.

Об'єктно-орієнтований нащадок мови Pascal , реалізований фірмою Вorland, знайшов багато прихильників і є не тільки засобом для вивчення об'єктно-орієнтованого програмування, але і хорошим інструментом для створення прикладних програм. Об'єктно-орієнтоване середовище Delphi є надбудовою над об'єктно-орієнтованою мовою програмування Object Pascal. Програмування на Object Pascal є менш складним, ніж на С++ за рахунок меншого використання покажчиків на функції операційної системи. Хоча програми створювані на С++ працюють швидше, однак для прикладних програм це нівелюється при сучасній швидкодії комп'ютерів.

Для розв'язання задач, пов'язаних із сумісністю програмного забезпечення, корпорація Microsoft запропонувала у 2000 році концепцію Microsoft .NET. Microsoft .NET — це платформа, на якій інформація на базі Web може передаватись користувачам різних електронних пристроїв (від мобільних телефонів до персональних комп'ютерів) із застосуванням сумісного програмного забезпечення. Платформа .NET пропонує нову модель програмування, яка дає можливість програмам, створеним абсолютно різними мовами програмування, взаємодіяти одна з одною.

Платформа .NET пропонує могутні можливості по розробці і введенню в експлуатацію програмного забезпечення, включаючи незалежність від певної мови, а також від платформи операційного програмного забезпечення. Замість вивчення нової мови програмування програмісти можуть працювати з тим самим програмним проектом, але писати код на будь-якій .NET-мові (наприклад, Visual Basic .NET, Visual C++ .NET, Delphi for the Microsoft .Net Framework та інших), з якими вони більш знайомі. Поряд з проблемою мовної незалежності платформа .NET розширює програмну сумісність, дозволяючи .NET - додаткам постійно перебувати у "дружньому стані" та "розуміти" чисельні платформи, що значно полегшує виконання Web - сервісів в Internet.

Ключовим компонентом архітектури .NET є Web - сервіси (Web services), що являють собою додатки, якими можна користатися за допомогою Internet. Клієнти Internet і додатки можуть використовувати ці Web - сервіси як будівельні блоки, що багато разів використовуються. Результатом такого підходу може бути, наприклад, сумісність при передаванні інформації від користувачів, що використовують системи UNIX до користувачів, що працюють на базі операційної системи Microsoft Windows.

Платформа .NET включає ідею повторного використання програмного забезпеченню. Розробники мають можливість компонувати додатки різного призначення таким чином, що утворюються нові можливості для користувача. Наприклад, один додаток міг би оформляти платежі за платіжними дорученнями, сплату податків, позики і капіталовкладення, використовуючи Web - сервіси різних компаній. Користувач OnLine може придбати Web - сервіси для платежів по кредитних картках, ідентифікації користувачів, мережної безпеки й обліку баз даних для створення Web - сайту своєї фірми.

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

Універсальний доступ до даних (universal data access) — ще одна важлива концепція платформи .NET. Якщо існують дві копії якого-небудь файла (наприклад, на персональному комп'ютері і на комп'ютері компанії), більш стара версія повинна постійно обновлятися — це називається синхронізацією файлів. Якщо окремі версії файла відрізняються один від одного, вони є несинхронізованими; така ситуація може привести до серйозних помилок і до втрати інформації. При роботі на платформі .NET дані можуть зберігатися в одному центральному місці, а не на окремих системах. Будь-який пристрій, сполучений з Internet, зможе мати доступ до даних (звичайно, при строгому контролі), які потім відповідним чином форматуватимуться для використання або відображення на тому пристрої, який звертається до них.

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

Система .NET Framework корпорації Microsoft є ключовим елементом платформи .NET для Delphi. Ця система обробляє і виконує додатки і Web - сервіси, містить бібліотеку класів (яка називається Framework class library FCL), підвищує безпеку і забезпечує багато інших можливостей програмування.

Опис технології .NET Framework міститься у специфікації Common Language Specification (CLS), яка включає інформацію про типи даних, об'єкти і таке інше. Специфікація CLS є узгодженою із стандартами European Computer Manufacturers Association, що значно спрощує створення Framework для інших платформ.

Common Language Runtime(CLR) — ще одна центральна частина системи Framework. В середовищі CLR виконуються програми на мовах для платформи .NET. Програми компілюються в машинно-залежні команди в два етапи. Спочатку програма компілюється в код на проміжній "нейтральній" мові — CIL (Common Intermediate Language), яка визначає команди для CLR.

Мова CIL робить додатки .NET незалежними від платформи і компілятора, а також дозволяє використовувати разом модулі, що написані на різних мовах високого рівня. Мова CIL - це мова низького рівня. Вона схожа на мову асемблера, однак відрізняється своєю незалежністю від типу процесора. Крім того, CIL вміщує елементи, які пов'язані з архітектурою .NET, тобто підтримують загальні принципи об'єктно-орієнтованого програмування такі як: системи типів, атрибутів та інші. До загальної системи типів входять такі категорії як: поле, метод, властивість, подія.

Коди, створені на CIL конвертуванням з інших мов програмування можуть бути сполучені в подальшому у середовищі програмування .NET.

Система .NET Framework забезпечує високий рівень сумісності мов (language interoperability). Можливість виконання програми (без модифікацій) на декількох платформах називається незалежністю від платформи (platform independence). Написаний одного разу код може використовуватися на іншому комп'ютері без модифікації.

Сумісність мов програмування має багато переваг. Розробники програмного забезпечення, що використовують різні мови можуть працювати спільно над одним проектом без необхідності вивчати іншу мову програмування — весь їх код буде компільований в код на MSIL і буде придатним для створення однієї програми. Крім того, .NET Framework може об'єднувати для роботи старі і нові компоненти. Це допоможе розробникам повторно використовувати код, на розробку якого вони витратили значний, час, і об'єднати його з новим .NET-кодом, який вони напишуть.

Ще однією перевагою .NET Framework є можливості CLR, які відносяться до управління виконанням програм. Середовище CLR відповідає за розподіл пам'яті, безпеку та інші функції. Працюючи з такими мовами, як, наприклад, C++, програміст повинен сам займатися розподілом пам'яті. Це може привести до виникнення проблем. Якщо програміст виконає запит на пам'ять і не буде її звільняти: програми можуть витратити всю наявну пам'ять, що перешкодить виконанню інших програм. Керуючи пам'яттю програми, .NET Framework вивільняє час програміста і дає можливість йому зосередити свою увагу безпосередньо на створенні програмної логіки.

Система .NET Framework надає також обширну бібліотеку класів. Ця бібліотека називається Framework Class Library (FCL). Вона може використовувати із будь-якою .NET мовою. Бібліотека FCL містить безліч компонентів, що позбавляють програмістів необхідності створювати нові. Завдяки службі звернення до базової платформи (Platform Invocation Service, P/Invoke) додатки .NET можуть звертатися до інтерфейсів програмування тієї платформи, над якою реалізовано загальне середовище виконання .NET: платформа Win32, платформа Win64 і навіть Linux.

Основним аспектом концепції .NET є її незалежність від якоїсь певної мови або системної платформи. Звичайний додаток запускається системою в межах спеціально виділеного для додатка адресного простору. CLR надає можливість виконання безлічі керованих додатків в одному процесі. Кожний керований додаток зв'язується з власним доменом додатку (скорочено AppDomain). У додатку крім основного домена може бути створено декілька додаткових доменів.

Домени можуть мати наступні властивості:

- домени ізольовані один від одного. Об'єкти, створені в межах одного домена є недоступними з іншого домену;

- CLR здатна вивантажувати домени разом зі всіма складками, пов'язаними з цими доменами;

- можлива додаткова конфігурація і захист доменів;

- для обміну даними між доменами реалізований спеціальний механізм безпечного доступу (маршалинг);

- у .NET Framework розроблена власна компонентна модель, елементами якої є .NET-складання (.NET-assembly), а для прямої і зворотної сумісності з моделлю СОМ/СОМ+ в CLR вбудовані механізми (COM Interop), що забезпечують доступ до СОМ-об'єктів за правилами .NET і до .NET-складань за правилами СОМ.

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

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

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