春のセール
Memento

Memento を Swift で

Memento 振る舞いに関するデザインパターンの一つで オブジェクトの状態のスナップショットを作成し それを将来復元します

Memento は その対象オブジェクトの内部構造やスナップショットの内部に保存されるデータの機密を守ります

複雑度

人気度

使用例 Memento の原則は シリアライゼーションを使って達成することが可能で Swift ではよく見かけます これは オブジェクトの状態のスナップショットを作る上で唯一の方法でも 最も効率のいい方法でもありませんが オリジネーターの構造を他のオブジェクトから隠蔽しつつ状態のバックアップを取ることはできます

以下の例は Swift Playgroundsで利用できます。
Playgroundバージョンを作成してくれた Alejandro Mohamadに感謝します。

他言語での Memento

Memento を C# で Memento を C++ で Memento を Go で Memento を Java で Memento を PHP で Memento を Python で Memento を Ruby で Memento を Rust で Memento を TypeScript で