Mementoパターン

日経Linuxを読んでたら、Rubyの産みの親まつもとゆきひろ氏の
コラムがあり、そこでシリアライズとデシリアライズについて書いてあった。
Ruby風に言うと、マーシャルね。


このマーシャル。
Mementoパターンをうまく使うことで、自分で実装が出来る。
phpとかでやりたいときにはいいんじゃないかね。
あとは、Ajax(javascript)で。とかね。


つまるところ、シリアライズとデシリアライズ
オブジェクト←→文字列の変換に過ぎない。(循環参照とかは考えなければ)
なので、Rubyの実装どおり、
dumpとloadメソッドを定義したIFをシリアライズしたいクラスに継承させ、
実装するだけでこれができる。

ファイルから読み込み、書き込みなら
1行1オブジェクトとして、最初の数文字をキーとしてFactoryでも作っておけば
かなり簡単に戻すことが出来る。

JudeやDBDesignerはこれを使ってファイル書き込みとかしてんじゃないかなー
とか思った。