BETA

ドメイン駆動設計にチャレンジ(さわり)

投稿日:2019-08-15
最終更新:2019-08-17

ドメイン駆動設計にチャレンジ(さわり)

ドメイン駆動とは?

エリック・エヴァンス氏がまとめたドメイン駆動設計という考え方があります。ではドメイン駆動設計とは何か?を私の言葉でまとめると、

なんだか複雑な問題を整理して、わかりやすくするための考え方を用いた設計

なのかなあ、と思っています。

複雑な問題を解決するには

では複雑な問題とはなんだろう?

何かソフトウェアを使って解決したい問題があるから、問題を解決するためのソフトウェアを作るのですが、問題を解決するためには、何が問題で、どうすればよいのか、を考えることになります。

解決したい問題はいろいろなものが絡み合っていて、解きほぐさないと解決の糸口すら見えないでしょう。

ドメイン駆動設計は、解決したい問題を解きほぐし、解決に導くための考え方の1つ、となるといいなあ・・・

さっきから

・・・と思っています・・・とか、なるといいなあ・・・と歯切れの悪い言葉が出てきていますが、何のことはない、ドメイン駆動設計とかそんなもの私はわからないのです。

エリック・エヴァンスのドメイン駆動設計を読んだのですが、なんだかもやもやしています。読んだだけだとどうしても、というのもありますし。

なので、私なりにドメイン駆動設計を理解しようとチャレンジすることにしました。

なぜチャレンジするのか?

私は仕事でソフトウェア開発に携わっています。大体要件定義や基本設計から入らざるを得ない立場なのですが、、、楽したいからというのがチャレンジの動機になります。

ほら、ソフトウェア開発なんて、いつもなんだかぐちゃぐちゃごちゃごちゃしてるでしょ?私のところだけかもですが・・・

ドメイン駆動設計の考え方取り入れたら、少しはましになるかな?

とはいうもののどうやって取り組もうか

実際に取り組もうとしても、題材に困りますよね。

といったところで、Qiitaに「ドメイン駆動設計でデータベーススペシャリストの問題を使ってサンプルプログラムを作ってみた」という記事がありまして、それを読んで「ああ、よい題材があるではないか!」となりまして、私もデータベーススペシャリストの問題を題材にしてチャレンジすることにしました。

お題

情報処理技術者試験(DB)の2019年4月の問1をお題とします。

概要

A社というスポーツイベント(大会)の運営サービス会社が、大会の運営サービスを構築することになりました。

大会の主催者が、A社に大会を主催したいから運営お願い!といったところでしょうか。

A社の運営サービスとしては、

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

を提供しています。

主催者は、これらの運営サービスから、1つ以上の運営サービスを選択できます。

続きます。

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

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

yodai_u_uの技術ブログ

よく一緒に読まれる記事

0件のコメント

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