mokky14's IT diary

IT関係の仕事メモ、勉強会の感想など書いてます。

第16回 DDD(ドメイン駆動設計)勉強会に参加してきました(番外編)

今回は参加者が4人と少なかったので、いつもの勉強会ではなく、3/22に東京で開催されたjava-ja.ddd*1のスライド見ながらの感想会。
DDDというキーワードで200人近く集まるのはさすが東京。

 

見たスライドと感想など。

 

【ざっくりDDD入門】

FizzBuzzサンプルのやりすぎ感*2が面白かった。

 

スライドの内容ではないけど、java-ja.dddイベントで「ドメインエキスパートなんていない!」という話があったらしく、すごく共感した。過去に自分が携わった仕事でも、実際の業務知らない人ばかり相手にして仕事したことあったな~と。
こういう仕事でどうドメインを設計していくかは現場の課題だよな。

 

【リッチなドメインモデル  名前探しの旅】

「ドメイン駆動設計への道」のスライド。DDDの前に必要な知識があったらしい。。
自分は地道なレベル上げしないでいきなりラスボスに挑んでたのかと。

 

「プログラミングは名前探し」の下りはすごく共鳴。
プログラムに限らず、設計する時も、名前はすごく重要な概念だと思っているので。

 

「業務の言葉をオブジェクトで」
過去に携わったシステムで、あるデータが文字列として保持されてて、そのデータの定義が変わる都度、システム全体でそのデータを使用している箇所全て探して修正が必要になったことを思い出した。
なので、この作業の重要性は身にしみて分かる。
「小さく作る」はまだまだ修行が必要。

 

どこのスライドから派生したか忘れたけど、DBのテーブル構造は後から変更するのは難しいという話があった。
過去の仕事で、後からの変更に備えて、テーブルに「予備1」~「予備5」というカラム持ったテーブル作ったことあった。その後の開発で予備1と予備2は実際に使用した。
後からの変更が簡単なDBシステムとかないものかな。。

 

スライドの内容ではないけど、リッチなトランザクションスクリプト全盛の職場で、こういう設計手法を取り入れることの価値を伝えるにはどうすればいいか悩ましい。。

 

もう一つスライド見たけど、そっちのスライド名は失念。

・プリミティブ型は全て業務用語のクラスでラップする 

・一つのクラスで保持するプロパティは2つまで

といったところが印象残ってる。

 

後の飲み会ではJava勉強会のネタとTDDBCの話が盛り上がってました。
TDDBCは去年参加出来なかったので今年は参加したいな。

*1:http://connpass.com/event/1934/

*2:https://github.com/Mikkeren/FizzBuzzEnterpriseEdition/tree/master/src/main/java/com/seriouscompany/business/java/fizzbuzz/packagenamingpackage/impl