TL;DR

ある環境にあるオブジェクトを、連続したバイナリデータやテキストデータに変換すること。直列化とも呼ぶ。Domain Modeling Made Functional の定義では、ドメイン固有の表現を、バイナリ、JSON、XML などの永続化しやすい表現に変換するプロセスである。

なぜ必要か

Wikipedia によると、シリアライズすると、オブジェクトが表すデータをファイルに保存したり、ネットワーク経由で送ったりできる。シリアライズしたデータから元のオブジェクトに戻すことを、デシリアライズ(直列化復元)と呼ぶ。

仕組み

Domain Modeling Made Functional では、次のように定義されている。

ドメイン固有の表現から、バイナリ、JSON、XML などの永続化が容易な表現に変換するプロセス

テキスト形式では XML や JSON がよく使われる。数値が多いデータでは、バイナリ形式のほうが容量を抑えられる。

注意点

元のオブジェクトを拡張したときに互換性を保つのは、テキスト形式よりバイナリ形式のほうが難しい。浮動小数点数を 10 進数の文字列にすると丸め誤差が出て、元の値に正確に戻せないことがある。

関連

出典