行ってきました
先日、卒業した Gopher 道場繋がりで、卒業生向けのイベントが開催されましたので参加しました。 Gopher 道場については以下の記事にまとめてあります。
イベントの詳細はこちらです。 @pospome san による DDD についてのお話を聞きます。
当日の様子
merpay さんのケータリングはいつもおしゃれ! 以下はミートパイですかね?美味しかったです。
なにこれすごくうまい pic.twitter.com/wYRrmPw3p1
— sun / Shun Nishitsuji (@asuforce) October 3, 2018
感想
DDD については、エリック・エヴァンスの本があること。またその本が鈍器本の一種であること、ドメインを使って設計をすること以外の情報は持ち合わせていませんでした。 なので、「ドメイン」駆動とはどういうことなのかを聞きたくて参加しました。
エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)
- 作者: エリック・エヴァンス,今関剛,和智右桂,牧野祐子
- 出版社/メーカー: 翔泳社
- 発売日: 2011/04/09
- メディア: 大型本
- 購入: 19人 クリック: 1,360回
- この商品を含むブログ (131件) を見る
発表を聞いてみて超簡単にまとめると、DDD とは問題領域、業務・関心ごとを分析し、設計、そして実装を行い成果物を生み出す設計手法になると思います。
普段行っている開発手法は DOA/data oriented approach(データ中心のアプローチ)で、データの格納先に合わせて設計しています。 DAO のデメリットとしましては、データ構造をそのままコードで扱う必要が出てきます。そうすると、あるコードに手を加える時に、業務(解決したいこと、問題)を理解 => コードを理解 => DBの構造を理解というステップが必要になります。これに対してDDD ではデータ構造は DB に合わせるものの、コードは業務に合わせます。こうすることで、業務を理解すれば、コードを理解できるようになります。
概念の話なので、非常に難しいですが、自分の中での理解はいまのところこんな感じです。
「既存の何かが抱えている問題を解決するアプローチ」というのがポイントで、エリック・エヴァンスの本ではシステム化されてないものを課題としているそうです。ですが、Web の開発においてはシステム化されていない問題だけでなく、新しい概念など(Twitter の呟きなど)を扱う性質上、本の内容をそのまま実行できるわけではないというのが「なるほど」となったポイントでした。機会があれば、本と現実の web 開発の差分の共有についての発表もあるかもとのことでしたので、ぜひ聞きたいです。
今回の発表で、DDD はなんか凄そうというボヤけた認識から1つステップアップできました。 エリック・エヴァンスの本は読んでみたいとは思っていたので、近いうちに読みたいなと思いました。
以下は今回のメモです。
勉強になった。脳がやばいhttps://t.co/L8KmsO5WfO
— sun / Shun Nishitsuji (@asuforce) October 3, 2018
Gopher 道場の卒業生向けになりますが、次の課外活動は GCP についてです。 こちらも参加予定で楽しみにしております。