16 970
правок
РоманСузи (обсуждение | вклад) (викификация) |
|||
'''Уровень абстракции''' предоставляет способ сокрытия деталей реализации определенного множества функциональных возможностей. Модели программного обеспечения, использующие уровни абстракции, включают [[Сетевая модель OSI|семиуровневую модель OSI]] для [[Протокол передачи данных|протоколов передачи данных]] [[Компьютерная сеть|компьютерных сетей]], библиотеку графических примитивов [[OpenGL]], модель ввода-вывода на основе потоков байт из [[Unix]], адаптированную [[MSDOS]], [[Linux]] и большинством других современных [[Операционная система|операционных систем]].
В операционной системе Unix большинство типов операций ввода-вывода рассматриваются как потоки байтов, считываемые или записываемые на [[Компьютерная техника|устройство]].
Большинство графических [[Библиотека (программирование)|библиотек]], например, OpenGL, предоставляют в качестве интерфейса абстрактную графическую модель. Библиотека отвечает за трансляцию команд, данных программистом, в специальные команды устройства, необходимые для рисования графических элементов и объектов. Специальные команды устройства для [[Графопостроитель|графопостроителя]] отличаются от команд устройства для [[Электронно-лучевой прибор|ЭЛТ]] [[Монитор (устройство)|монитора]], но графическая библиотека скрывает зависящие от устройства детали реализации, предоставляя абстрактный интерфейс, содержащий набор [[Примитивный тип|примитивов]], общеупотребимых для рисования графических объектов.
В [[Информатика|информатике]] уровень абстракции
Хорошая абстракция обобщает то, что можно сделать абстрактным; допуск специфики нарушает абстракцию и ее успешное применение требует приспособления к каждому уникальному требованию или проблеме.
Часто уровни абстракции организуются в иерархию уровней абстракции.
Известный [[афоризм]] Дэвида Уилера гласит: ''Все проблемы в информатике можно решить на другом уровне окольным путем'';<ref>
[http://www.dmst.aueb.gr/dds/pubs/inbook/beautiful_code/html/Spi07g.html Another level of indirection].
In Andy Oram and Greg Wilson, editors,
''Beautiful Code: Leading Programmers Explain How They Think'', chapter 17, pages
</ref>
это часто неверно цитируется с заменой
== Архитектура компьютера ==
== Ссылки ==
{{примечания}}
== См. также ==
* [[layer (object-oriented design)|Слой]] в объектно-ориентированном смысле
* [[Инкапсуляция (программирование)]]
* [[Абстракция данных]]
* [[Прозрачность]]
* [[Кольца защиты]]
* [[Программное обеспечение]]
* [[Интерфейс программирования приложений]]
* [[Инженерия программного обеспечения]]
* [[Аппаратное обеспечение]]
* [[База данных]]
* [[Компьютерная сеть]]
{{DEFAULTSORT:Abstraction Layer}}
|