ファクトリ(DDD)
わかりやすいたとえ
再構成
格納されたデータからインスタンスを生成すること
ファクトリがやる
生成と再構成というライフサイクルの変遷をカプセル化するもの
複雑なオブジェクトと集約のインスタンスと生成する責務を、別のオブジェクトに移したもの(その専用のオブジェクト)
モデルには対応しないが、ドメイン層の責務として扱う
出番
隠蔽したものがあるのに自然な置き場所がない場合
→ 専用のファクトリオブジェクトか、サービスをつくることになる
ファクトリではなくコンストラクタで十分な場合
クライアントが実装に関心があるとき(たぶんストラテジーやろ言うてる)
プリミティブな型
要するに単純か、クライアント側が実装に寄ってる場合ってことかsta.icon
まあ肌感覚だなこの辺は
不変条件は維持しなければならない(維持するように構成しきる)
が、どこでやるかはパターンがある
ファクトリに入れる
生成物側に任せる
見た感じ、ライフサイクル(生きている)最中に意識するかどうか次第sta.icon
するなら生成物
しないならファクトリ側に入れちゃう