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?

🎉 楽しく学ぶDDD(リポジトリの設計編)!

Last updated at Posted at 2025-03-28

:cherry_blossom: はじめに

こんにちは!DDDの旅を一緒に楽しんでいますね🎈
今日は次のステップとして、ドメイン駆動設計の大切な仲間「リポジトリ」について楽しく学びましょう!

📦 リポジトリってなに?

ドメイン(モデル)ではビジネスのルールや振る舞いを表現し、データの保存・取得といった処理は行わない所ですが、データの保存・取得といった処理を実際に扱うのがリポジトリの役割です。

リポジトリとは、エンティティや集約(関連する複数のドメインオブジェクトをひとまとめにした単位)を保管したり取り出したりする場所のこと。まるで図書館や倉庫のような役割です!

簡単に言うと、「必要なものを安全にしまっておいて、使いたいときにサッと取り出せる仕組み」なんです✨

🎯 リポジトリの役割

リポジトリには主に2つの大切な役割があります!

① 集約の取得

「これが欲しい!」というときに、すぐに必要なものを取り出します。

🌟 例:学校なら「生徒リポジトリ」から生徒の情報を探して取得します。

📝 ポイント:集約を取り出すときは、その集約を特定するための識別子(例えば、生徒番号やID)をリポジトリに伝える必要があります!

② 集約の永続化

「これを大事に保存しておこう!」というとき、情報を失くさないようにちゃんと保存します。

📚 例:新しい生徒が入学したら、生徒リポジトリに情報を追加して安全に保管します。

🛠 実際のリポジトリの使い方

リポジトリを使った流れはシンプル!

  1. リポジトリに「お願い!○○をください!」と識別子を伝える(検索)
  2. リポジトリがデータベースやファイルなどから情報を探してくれる
  3. 見つけた情報を使って色々な作業をする
  4. 新しく追加や変更があれば、リポジトリに「これを保存してね!」と伝える(保存)

✨ リポジトリを使うメリット

  • 必要なデータを簡単に見つけて取り出せる!
  • データを安全に管理できるので安心!
  • コードがシンプルになり、後で見直しや変更が簡単になる!

🌈 まとめ

リポジトリを使えば、ドメインモデルを簡単に、安全に管理できちゃいます!
DDDのリポジトリをしっかり理解して、明るく楽しく素敵なシステムを作りましょう!🚀😄✨

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?