Рівень абстракції (програмування) - це

Рівень абстракції (програмування) - це

Рівень абстракції надає спосіб приховування деталей реалізації певної множини функціональних можливостей. Моделі програмного забезпечення, що використовують рівні абстракції, включають семиуровневую модель OSI для протоколів передачі даних комп'ютерних мереж. бібліотеку графічних примітивів OpenGL. модель введення-виведення на основі потоків байт з Unix. адаптовану MSDOS, Linux і більшістю інших сучасних операційних систем.

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

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

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

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

Часто рівні абстракції організовуються в ієрархію рівнів абстракції. Мережева модель OSI містить сім рівнів абстракції. Кожен рівень моделі OSI ISO инкапсулирует і розглядає окрему частину вимог по організації зв'язку, скорочуючи таким чином складність відповідних інженерних рішень.

Відомий афоризм Девіда Уїлера говорить: Всі проблеми в інформатиці можна вирішити на іншому рівні обхідним шляхом; [2] це часто невірно цитується з заміною "окольного шляху" на "абстракцію". Продовження від Кевліна Хенні говорить ". За винятком проблем з великим рівнем непрямих."

архітектура комп'ютера

Дивитися що таке "Рівень абстракції (програмування)" в інших словниках:

Узагальнене програмування - (англ. Generic programming) парадигма програмування, яка полягає в такому описі даних і алгоритмів, яке можна застосовувати до різних типів даних, не змінюючи саме цей опис. У тому чи іншому вигляді підтримується різними ... ... Вікіпедія

Ніколя Бурбак - Шарль Дені Бурбак, французький генерал, прізвище якого було взято в якості псевдоніма Ніколя Бурбак (фр. Nicolas Bourbaki) колективний псевдонім групи французьких математиків (пізніше до неї увійшли кілька іноземців), ... ... Вікіпедія

Xlib - (X library, рус. Бібліотека «ікс») бібліотека функцій клієнта системи X Window, написана на мові Сі. Містить функції для взаємодії з т. Зв. X сервером. Бібліотека дозволяє використовувати більш високий рівень абстракції, без знання ... ... Вікіпедія

Cocoa Touch - Cocoa Touch це фреймворк для створення додатків під iPhone, iPod touch, і iPad. Бібліотека Cocoa Touch надає рівень абстракції для iOS (операційної системи iPhone, iPad і iPod touch). Cocoa Touch заснована на класах фреймворка ... ... Вікіпедія

Формальні методи - Приклад формальної специфікації з використанням Z нотації В інформатиці та інженерії програмного забезпечення формальними методами називається група технік, заснованих на математичному апараті для ... Вікіпедія

Мнемокод - Мова асемблера (автокод) мову програмування низького рівня. На відміну від мови машинних кодів, дозволяє використовувати більш зручні для людини мнемонічні (символьні) позначення команд. При цьому для перекладу з мови асемблера в ... ... Вікіпедія