永続性
プログラミングにおいて、永続性とはデータ構造をプログラムの実行と実行の間で保持することを指す。例えば、画像編集における複雑な選択の保持やワードプロセッサにおけるUNDOヒストリの保持などである。
これはデータを不揮発性の記憶装置、すなわちファイルシステムや関係データベースやオブジェクトデータベースに格納することでなされる。これに関係したデザインパターンとして、container based persistence、component based persistence、Data Access Objectモデルなどがある。当初、永続性という用語が登場したころ、データはプログラミング言語の命令によってディスクから読み書きされるものであったため、永続性はデータの本質的特性であると見なされた。しかし、その後メモリ容量の増大や動的にデータ構造を生成するオブジェクト指向プログラミングの登場によって、そのような見方は変化していった。永続性の例としては、Javaのオブジェクトをディスクに格納するためのシリアライズ、Jakarta EEによる関係データベースへのEnterprise JavaBeansの格納がある。