抽象化レイヤー
プロッター用のコマンドと、CRTモニター用のコマンドとは別物だが、グラフィックオブジェクトを描画するための汎用的な命令をグラフィックライブラリが抽象インタフェースとして提供することで、実装や装置に依存したこまごましたことを気にせずにすむ。
計算機科学において、抽象化層とはモデルやアルゴリズムを一般化したものであり、いかなる特定の実装からも独立したものである。このような一般化は、各種の実装の間に幅広い共通点があることに基づいている。これらの共通点は、モデルによってうまくカプセル化できる。モデルによるカプセル化とはまた、各種の個別の実装に類似性があることを明確に示すことでもある。よくできた抽象化レイヤーは有益な概念やメタファーを純粋な形で取り出し、単純化して提供するので、再利用が容易になり、正しい使い方をすばやく把握できるようになる。
すぐれた抽象化は、どこが抽象的であるべきかも含めて一般化を行う。従って、抽象化レイヤーを利用するアプリケーションが特別な要件や問題を抱えている場合でも、対処を可能にする。
抽象化レイヤーは、複数の抽象化層からなる階層を構成することが多い。OSI参照モデルは7層の抽象化レイヤーから成る。各層が、デジタル通信における各層のニーズに対処しつつ隠蔽することで、さまざまな技術が複雑に絡み合うのを防ぐことができる。
バトラー・ランプソンの有名な格言に「情報工学のあらゆる問題は別のレベルのインダイレクションで解決される」というものがあるが、「インダイレクション」を「抽象化」にわざと置き換えた形でよく引用される。