0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

(IDDDを読んで気になったことシリーズ)コレクション指向のリポジトリはSetを模倣、永続指向のリポジトリはMapを模倣?

Last updated at Posted at 2024-11-22

実践ドメイン駆動設計を読んでいて気になる記載があった。どんな意味なのか考えてみた結果を残しておく。

コレクション指向のリポジトリはSetを模倣したもの、の意味を考える。

Setは重複が無いように登録するコレクション。
⇒ 登録するオブジェクトは同一視の判定をできる必要がある。つまりエンティティ。
⇒ エンティティの変更(=ステータスの変更)があっても同じものに違いは無いので再登録する必要はない。
⇒ 以上の考え方なので、コレクション指向のリポジトリではオブジェクトに変更があっても再登録の必要は無い。

永続指向のリポジトリはMapを模倣したもの、の意味を考える。

Mapはキーと値の組み合わせを登録するコレクション。
⇒ 値は同一視の判定ができない。変更しても同じものだと主張できるなら識別子を含んでいるはずだが、Mapはキーと値を分離しているので値にはキーを含まない。
⇒ 値を変更するときは完全に置き換える必要がある。
⇒ 以上の考え方なので、永続指向のリポジトリではオブジェクトの変更時に明示的なputが必要。

以上。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?