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

дополнение
(→‎Дырявые абстракции: исправил, добавил ссылку на англовики)
(дополнение)
 
Большинство графических [[Библиотека (программирование)|библиотек]], например, OpenGL, предоставляют в качестве интерфейса абстрактную графическую модель. Библиотека отвечает за трансляцию команд программы в специальные команды устройства, необходимые для прорисовки графических элементов и объектов. Специальные команды для [[Графопостроитель|графопостроителя]] отличаются от команд для [[Монитор (устройство)|монитора]], но графическая библиотека скрывает зависящие от устройства детали реализации, предоставляя абстрактный интерфейс, содержащий набор [[Примитивный тип|примитивов]], общеупотребимых для рисования графических объектов.
 
В [[Проблемно-ориентированное проектирование|проблемно-ориентированном проектировании]] крупномасштабная структура (предметной области) может использовать шаблон ''уровни ответственности'' ({{lang-en|responsibility layers}}). Например, модель предметной области может быть разделена на уровни (сверху вниз) «Поддержка принятия решений», «Операции» и «Производственные возможности», при котором сущности более высокого уровня опираются на сущности более низкого, но нижний уровень не зависит от верхнего<ref>{{книга
|заглавие = Domain-Driven Design - Tackling Complexity in the Heart of Software
|автор = Evans E.
|apppages = 560
|isbn = 978-0-321-12521-7
|год = 2003
|издательство = Addison-Wesley
|часть = Responsibility Layers
}}</ref>.
 
Известный [[афоризм]] Дэвида Уилера гласит: ''Все проблемы в информатике можно решить на другом уровне окольным путем'';<ref>