DDDについてEric本を読んでいたところ、オブジェクトの生成やシリアライズについての指針が参考にできそうだったので、メモ。
- Factoryはオブジェクトのライフサイクルにおける始まりを処理し、リポジトリは中期から終わりを管理するのを助ける。
- リポジトリはデータに基づいてオブジェクトを生成するので、多くの人はリポジトリのことをファクトリであると考える。
- しかし、格納されたオブジェクトを再構成することは、新しい概念オブジェクトを生成することとは異なる。
- リポジトリのクライアントには、オブジェクトがメモリにあると錯覚させなければならない。
- リポジトリがオブジェクトの生成をファクトリに委譲すれば良い。
重要なのは末尾の項目で、リポジトリがシリアライズされたデータを永続化媒体から(アダプタを介して)取得して、ファクトリに流し込んであげればよい。
雑念
- (いや、アダプタを介して取得したデータが全て特定のシリアライズに統一して良いのだろうか…?)
- (永続化媒体ごとにアダプタがあるなら、アダプタごとにシリアライズの方式が異なる…?)
- (つまりアダプタがファクトリを持つ?)
- (むしろリポジトリがアダプタ…?)
- (ファクトリのパターンはファクトリクラスでもファクトリメソッドでもビルダーでも状況に応じてチョイスしてね、みたいな感じだった)
- (Kindleのハイライトめっちゃ便利だ…)
参照元
より
エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)
- 作者: エリック・エヴァンス,今関剛,和智右桂,牧野祐子
- 出版社/メーカー: 翔泳社
- 発売日: 2011/04/09
- メディア: 大型本
- 購入: 19人 クリック: 1,360回
- この商品を含むブログ (131件) を見る