DDD
ドメイン駆動設計

ちょっとずつ読むドメイン駆動設計 第ニ部 モデル駆動設計の構成要素 第六章 ドメインオブジェクトのライフサイクル6(ファクトリ3)

More than 1 year has passed since last update.

その1その2の続き

永続化したオブジェクトの再構成

RDBに格納されたオブジェクトを再構成する。
RDBでは、オブジェクトをより制限された表現に平坦化しているので、それを元のオブジェクトに戻す複雑な過程が必要になります。

オブジェクトの生成と異なる点は、
1. 新しいIDを割り当てる必要はない
2. 不変条件の違反の制御を異なる形にする必要があるかもしれない。

2については、必要なオブジェクトがデータベース上などにあるかもしれず、不変条件が満たされなければ、単にファクトリを中止するだけというわけにはいかないかもしれないということですね。

3回に渡ってファクトリを読んできましたが、至極当然という内容でした。
ただファクトリという要素だけで、結構考えること、これだけのことを考えてたんだなということが再認識できて良かったです。