2013年3月29日金曜日

java-ja.ddd に参加してきました #java_ja

java-ja.ddd DDD!!DDD!!
http://connpass.com/event/1934/

2013/03/22 java-ja.ddd #java_ja #java_ja_ddd
http://togetter.com/li/463570

java-ja.ddd の資料、ブログ記事などのまとめ
https://gist.github.com/yamashiro/5230921

はじめに

今回のjava-jaの告知から100人埋まるのがめっさ早かったのを昼休みの時に知りました。なので、150人まで拡張された時に急いで申し込みました。

開催までの期間の間に、エリック・エヴァンスのドメイン駆動設計を購入して読み始めてみました。
個人的に気になっていた箇所であるエンティティとレポジトリの部分を重点的に読んでみましたが、一旦コードにしないと身につかないのかなとも感じました。


第一部 ざっくり DDD 入門!!



今、自分が担当している業務が勤怠に関することなので、お客様の勤怠と共通な部分が多いのですが、やはり労使協定に関する部分は違ってくるのと、会社独自の文化によるコンテキストがあるので理解するまでにいろいろとお伺いしなければならない箇所があります。

自分の知識が足りないときに書いたコードがまさにファットなトランザクションスクリプトなので、制度が変わったり、仕様変更が生じた際にバグが発生しやすい状況でした。

ドメインエキスパートの話を自分に当てはめてみると、確かにある程度の範囲までは自分でカバーできるけど、全体のシステムを見渡して判断できるような人物がいるのかと云われると厳しい側面があります。お客様の担当も部署が変わったり配置転換があったりするので精通している人が居続けるのはやはり難しいと思います。そういう場合はやはり開発側がもっと知識を得てドメインエキスパートにならなければならないのかなと思いました。

http://domainlanguage.com/ddd/whirlpool/
Whirlpoolは全く知らなかったので、取り入れてみたいと思いました。
モデルに対する理解もまだ足りないので、本とコードを見比べながらループを回したいと思います。

プログラミングは名前探し



オブジェクト設計エクササイズ に参加してきましたの内容の中でも出てきた「良い名前をつける」ということにおいて公演されてました。
講演中の参加者の反応が大きかったのが印象的でした。
専用部品を作っていくことでその部品が導いてくれるというのは、現在でも実感してる最中です。

もう少し進めてテストのコードを業務の言葉で書ける様に出来ていければ、テスト自体が業務のシナリオとして使えるのではないかなと感じました。

おわりに

LT(=Long Talk)のお二人のお話も興味深いもので、特に腐敗防止層については本にも載っていたので、読み進めてみようと思います。
Magic Beansパターンは、RailsのActiveRecord特有だと思っていましたが、今のプロジェクトにも似たような状況の箇所があったと思うので、腐敗防止層と合わせて対応して見たいと思います。

今回のjava-jaも前回LOG.debug("nice catch!") に参加してきました #java_jaに引けをとらないくらい非常に楽しいかつ勉強になった回でした。

次回のjava-jaはJOJO回らしいので、楽しみです。
java-jaの皆様、講師の和智さん、増田さん、会場を提供してくださったGREE様ありがとうございました。

GREE パネェっす