DDDの人じゃないけど複雑なビジネスロジックのモデリングが面白そうだったので、参加してみました。
DDDのサンプルコードとしては参照しない方が良いと思います(プラクティスに沿っていない)。
- 映画館に足を運んだ顧客に対して、チケットを販売するケースを想定。
- ECサイトや、チケット事前予約からの受け取り、といったケースは想定していない。
以下の責務を分割した。
- カスタマーの提示した特典物から、可能なチケット種を判定する
- 上映回とチケット種から、定価を算出する
- カスタマーに最安となるチケット種を案内する
- 障がい者の同伴者の人数制限。「同伴者であることを自己申告する」という特典だと捉え、チケット価格には反映している(性善説運用…)
DateType(日付,土日祝日)の判定。af75cd8 で実装しました