アプリケーションを組み立てるフロー

  1. 初めにどう言った機能が求められているかを確認する

    1. 要求に必要な機能を洗い出す
  2. その機能を成り立たせるために必要なユースケースを洗い出す

    1. 複数のユースケースが必要になることもある
  3. 必要となる概念とそこに存在するルールからドメインオブジェクトを準備する

今回の場合は「サークル」の機能を追加することを例にとる

1. 必要となるユースケースは「サークルの作成」と「サークルメンバーの追加」

*その他、脱退などは考えない

サークルは次のルールを持っている

2. 「ドメインオブジェクト」を作っていく

今回はライフサイクルが発生するので、エンティティを作成する

3. サークルの永続化を行うために「リポジトリ」を作成する

ユースケースのロジックを組み立てる上ではまだクラスの定義は必要ない