Уровень абстракции (программирование): различия между версиями

[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
викификация
викификация, удалил см. также как нерелевантный
Строка 5:
'''Уровень абстракции''' предоставляет способ сокрытия деталей реализации определенного множества функциональных возможностей. Модели программного обеспечения, использующие уровни абстракции, включают [[Сетевая модель OSI|семиуровневую модель OSI]] для [[Протокол передачи данных|протоколов передачи данных]] [[Компьютерная сеть|компьютерных сетей]], библиотеку графических примитивов [[OpenGL]], модель ввода-вывода на основе потоков байт из [[Unix]], адаптированную [[MSDOS]], [[Linux]] и большинством других современных [[Операционная система|операционных систем]].
 
В операционной системе Unix большинство типов операций ввода-вывода рассматриваются как потоки байтов, считываемые или записываемые на [[Компьютерная техника|устройство]]. Эта модель потока байтов используется для ввода-вывода в [[файл]], [[Сокет (программный интерфейс)|сокет]] и [[компьютерный терминал]], чтобы обеспечить независимость от устройства ввода-вывода. Для чтения и записи в устройство на уровне приложения программа вызывает функцию открытия устройства, которое может соответствовать реальному устройству, например, терминалу или [[/dev|виртуальному устройству]], например, [[порт (компьютерные сети)|сетевому порту]] или файлу в [[Файловая система|файловой системе]]. Физические характеристики устройства передаются операционной системе, которая, в свою очередь, предоставляет абстрактный [[интерфейс]], позволяющий [[программист]]у считывать и записывать [[байт]]ы в устройство. Операционная система затем выполняет действительное [[преобразование]], необходимое для чтения и записи потока байтов в устройство.
 
Большинство графических [[Библиотека (программирование)|библиотек]], например, OpenGL, предоставляют в качестве интерфейса абстрактную графическую модель. Библиотека отвечает за трансляцию команд, данных программистом, в специальные команды устройства, необходимые для рисования графических элементов и объектов. Специальные команды устройства для [[Графопостроитель|графопостроителя]] отличаются от команд устройства для [[Электронно-лучевой прибор|ЭЛТ]] [[Монитор (устройство)|монитора]], но графическая библиотека скрывает зависящие от устройства детали реализации, предоставляя абстрактный интерфейс, содержащий набор [[Примитивный тип|примитивов]], общеупотребимых для рисования графических объектов.
Строка 29:
== Ссылки ==
{{примечания}}
 
== См. также ==
* [[layer (object-oriented design)|Слой]] в объектно-ориентированном смысле
* [[Инкапсуляция (программирование)]]
* [[Абстракция данных]]
* [[Прозрачность]]
* [[Кольца защиты]]
* [[Программное обеспечение]]
* [[Интерфейс программирования приложений]]
* [[Инженерия программного обеспечения]]
* [[Аппаратное обеспечение]]
* [[База данных]]
* [[Компьютерная сеть]]
 
{{DEFAULTSORT:Abstraction Layer}}