Camada de abstração
Origem: Wikipédia, a enciclopédia livre.
Uma camada de abstração é uma maneira de esconder detalhes de implementação de um conjunto particular de funcionalidades. Provavelmente os mais conhecidos modelos de software que usam camadas de abstração são o Modelo OSI para protocolos de rede de computadores, a biblioteca gráfica OpenGL e o modelo byte stream de entrada e saída (I/O) originado no Unix e posteriormente adotado pelo MS-DOS, Linux e muitos outros sistemas operacionais modernos.
Muitas bibliotecas gráficas como a OpenGL oferecem um modelo abstrato de dispositivo gráfico. A biblioteca é responsável por traduzir os comandos do programador nos comandos necessários para desenhar elementos gráficos e objetos num dispositivo específico. Os comandos específicos de uma impressora são diferentes dos comandos específicos de um monitor CRT, por exemplo, mas a biblioteca esconde os detalhes específicos de implementação e oferece uma interface abstrata de uso geral para gerar gráficos.