BETA

ドメイン駆動設計にチャレンジ(知識のかみ砕き)

投稿日:2019-08-16
最終更新:2019-08-21

前回の続きから

前回の続きからですが、A社が構築しようとしているサービスは、

  • 大会の告知サービス
  • 大会への参加申し込みを受け付けるエントリサービス
  • 記録計測サービス

など。たぶんほかにもあるかとは思いますが、データベーススペシャリストの問題文には、エントリサービスに関連するところはありますが、大会の告知サービス、記録計測サービスに関するところはありません・・・

というわけで、エントリサービスを中心にドメイン駆動設計にチャレンジしていくことにします。

知識をかみ砕いてみよう!

ドメイン駆動設計の本だと、開発者とエキスパートの会話、というスタイルで話を進めていくところがありました。ここのチャレンジでも、そのスタイルで行こうかな、と思います。エキスパート、だと長いので、専門家、とでもしますね。

自問自答の会話を書き起こす感じです・・・

開発者:さて、大会への参加申し込みを受け付けるエントリサービスなのですが・・・

専門家:長いのでエントリサービスにしましょうか。エントリサービスですが、参加希望者から参加申し込みを受け付けることを考えています。

開発者:えと、スポーツ大会に、ですよね。

専門家:そうですね。これも、大会って呼んでます。まあ、マラソン大会とか、フルマラソンとか、ハーフマラソンとかに参加申し込みをしてもらいます。

開発者:参加申し込みはだれでもできるんですか?プロのアスリートだけとか。

専門家:そういった意味では、えーと、会員が参加申し込みできます。アスリートとかだと、えーと、そうですね、なんというか、普通の会社員とかでもできますね。まあ、アスリートの方はやっぱり別枠ですけど。

開発者:別枠?

専門家:えと、フルマラソンだったら、一般枠と、アスリート優先枠とか、10キロマラソンだったら一般枠と地元優先枠とか、ですね。

開発者:となると、フルマラソンとか、10キロマラソンとか、種類ごとに参加申し込みをしてもらうんですね。

専門家:種類、そうですね、スポーツですし、フルマラソンとかハーフマラソンは、種目って呼んでます。種目ごとに一般枠とか地元優先枠とかアスリート優先枠とかのエントリ枠があって、エントリ枠ごとに会員が参加を申し込みます。

開発者:んーちょっとホワイトボードを拝借・・・こんな感じですか?

専門家:(UML完全に理解した!)あ、大会には主催者がいます。あと、種目なんですけど、なんていうか、フルマラソンとか、ハーフマラソンとかは、マラソン、ロードレースなんかは自転車レース、なんて分類してますね。

開発者:おおっと、そうなのですね。大会には主催者がいる、と・・・それでは、主催者は第何回のマラソン大会を主催していて・・・とか、そういったことも必要そうですね。

専門家:あーそういうのだと、うーん、主催者がいて、大会があるのはあるのですが、なんといいますか、主催者がいて大会がある、というよりも、この大会の主催者はXX社です、みたいなことはありますね。

開発者:となると、こうですか?分類は・・・種目分類としました。他に何か分類するものありそうですし。

専門家:そうですね、大きな登場人物は、これくらいかな?

・・・・今日はこの辺で、続きます。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

yodai_u_uの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!