Jump to content

Абстракция слой

(Перенаправлено из абстрактного интерфейса )

При вычислениях уровень абстракции или уровень абстракции - это способ скрыть рабочие детали подсистемы. Примеры программных моделей, которые используют слои абстракции, включают модель OSI для сетевых протоколов , OpenGL и других графических библиотек , которые позволяют разделить проблемы для облегчения совместимости и независимости платформы .

В информатике слой абстракции является обобщением концептуальной модели или алгоритма , вдали от какой -либо конкретной реализации. Эти обобщения возникают из широкого сходства, которые наилучшим образом инкапсулируются моделями, которые выражают сходства, присутствующие в различных конкретных реализациях. Упрощение, обеспечиваемое хорошим слоем абстракции, позволяет легко использовать повторное использование, перегоняя полезную концепцию или шаблон дизайна, чтобы можно быстро распознать ситуации, где она может быть точно применена. Просто сочинение элементов нижнего уровня в конструкцию не считается слоем абстракции, если он не вытесняет пользователей от своей основной сложности. [ 1 ]

Считается, что слой находится на вершине другого, если он зависит от него. Каждый слой может существовать без слоев над ним, и требует, чтобы слои под ним работали. Часто слои абстракции могут быть составлены в иерархию уровней абстракции. Модель OSI содержит семь слоев абстракции. Каждый слой модели инкапсулирует и учитывает различную часть потребностей цифровых коммуникаций, тем самым уменьшая сложность связанных инженерных решений.

Знаменитый афоризм : Дэвида Уилера «Все проблемы в информатике могут быть решены с помощью другого уровня косвенности ». [ 2 ] Это часто преднамеренно неверно процитируется «абстракцией», заменяемой «косвеной». [ Цитация необходима ] Это также иногда ошибается с Батлером Лэмпсоном . Следствие Кевлина Хенни к этому: «... за исключением проблемы слишком большого количества слоев кодекса». [ 3 ]

Компьютерная архитектура

[ редактировать ]

В компьютерной архитектуре компьютерная система обычно представлена ​​как несколько уровней абстракции, таких как:

Программируемая логика часто считается частью аппаратного обеспечения, в то время как логические определения также иногда рассматриваются как часть программного обеспечения или прошивки устройства. Прошивка может включать только программное обеспечение для низкого уровня, но также может включать все программное обеспечение, включая операционную систему и приложения. Программные слои могут быть дополнительно разделены на слои аппаратной абстракции, физические и логические драйверы устройств, репозитории, такие как файловые системы, ядра операционной системы, промежуточное программное обеспечение, приложения и другие. Различие также может быть сделано из низкоуровневых языков программирования, таких как VHDL , машинный язык , язык сборки, до скомпилированного языка , интерпретатора и языка сценариев . [ 4 ]

Ввод и вывод

[ редактировать ]

В операционной системе UNIX большинство типов входных и выходных операций считаются потоками байтов, считываемых с устройства или записанными на устройство. Этот поток модели байтов используется для ввода -вывода файла, ввода -вывода и ввода -вывода -терминала для обеспечения независимости устройства. Чтобы прочитать и записать на устройство на уровне приложения, программа вызывает функцию, чтобы открыть устройство, которое может быть реальным устройством, таким как терминал или виртуальное устройство, такое как сетевой порт или файл в файловой системе Полем Физические характеристики устройства опосредованы операционной системой, которая, в свою очередь, представляет собой абстрактный интерфейс, который позволяет программисту читать и записывать байты с/на устройство. Затем операционная система выполняет фактическое преобразование, необходимое для чтения и записи потока байтов на устройство.

Большинство графических библиотек, таких как OpenGL, предоставляют абстрактную модель графического устройства в качестве интерфейса. Библиотека отвечает за перевод команд, предоставленных программистом в конкретные команды устройства, необходимые для рисования графических элементов и объектов. Конкретные команды устройства для платтера отличаются от команд устройства для CRT монитора , но графическая библиотека скрывает детали реализации и зависимых от устройства, предоставляя абстрактный интерфейс, который предоставляет набор примитивов , которые, как правило, полезны для рисования графических объектов.

Смотрите также

[ редактировать ]
  1. ^ Хохпе, Грегор (9 марта 2012 г.). Образцы интеграции предприятия: проектирование, строительство и развертывание решений обмена сообщениями (серия подписей Аддисон-Уэсли (Фаулер)) . Аддисон-Уэсли Профессионал. ISBN  978-0321200686 . {{cite book}}: CS1 Maint: Год ( ссылка )
  2. ^ Spinellis, Diomidis (2007). «Глава 17. Еще один уровень косвенности» . Красивый код: ведущие программисты объясняют, как они думают . Себастополь, Калифорния: О'Рейли и Ассоциированные. С. 279–291. Архивировано из оригинала 6 марта 2024 года.
  3. ^ Henney, Kevlin [@kevlinhenney] (3 сентября 2012 г.). «@drunkcod Да, это мое следствие:^)» ( твит ). Архивировано из оригинала 29 марта 2022 года - через Twitter .
  4. ^ Таненбаум, Эндрю С. (1979). Структурированная компьютерная организация . Энглвуд Клиффс, Нью-Джерси : Прентис-Холл. ISBN  0-13-148521-0 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: fbd25a940495db5e5764cb0b45d4d806__1723802580
URL1:https://arc.ask3.ru/arc/aa/fb/06/fbd25a940495db5e5764cb0b45d4d806.html
Заголовок, (Title) документа по адресу, URL1:
Abstraction layer - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)