Una capa de abstracción (o nivel de abstracción) es una forma de ocultar los detalles de implementación de ciertas funcionalidades. Quizás los modelos de software más conocidos que utilizan capas de abstracción son el modelo OSI de 7 capas para protocolos de red, la biblioteca gráfica OpenGL y el modelo de flujo de bytes de entrada/salida creado para Unix y adoptado por MS-DOS, Linux y muchos otros sistemas operativos.