CURRICULUM
セッション一覧
Session 00から順番に、動物病院の業務とコードを確認していきます。
SESSION 00の前に
事前準備
セッションを始める前に、Discordへの参加、リポジトリのclone、教材の起動確認を済ませてください。
事前準備ページを開く-
業務とシステムを引き継ぐ
WAN NYAN CLINIC の現行業務、SQLite に残る現在の予約内容と変更履歴、現在起きている事故を確認します。
セッションを開く -
EventStormingとROPで予約キャンセルを設計する
予約がキャンセルされた出来事からコマンドと確認する条件を逆算し、集約、ROP、イベント出力、ResolverとStoreへ写します。
セッションを開く -
予約の状態と遷移をモデル化する
予約の6状態をDiscriminated Unionで表し、許可されていない状態遷移を型で拒否します。
セッションを開く -
診察開始の識別子を型で区別する
診察開始で使う予約IDと担当獣医師IDを、取り違えられない型にします。
セッションを開く -
診察開始の入力を境界で検証する
HTTPから届く予約IDと担当獣医師IDを検査し、型付きの診察開始入力へ変換します。
セッションを開く -
失敗をユースケースの結果として扱う
診察開始で顧客や現場が失敗理由に応じて操作を選ぶ失敗を、呼び出し側が扱える値として返します。
セッションを開く -
副作用と整合性境界を設計する
時刻や ID など実行のたびに変わる値と保存を port に切り出し、状態と監査記録を一度に保存します。
セッションを開く -
参照実装で境界をたどる
当日の到達点を、より大きな参照実装へ接続します。
セッションを開く