に行ってきました。
というわけで、直接的な感想ではないんですけど、皆さんのセッションから得たこととか考えさせられたこととかを一旦まとめました。
DDD について
最近 DDD とかそれにまつわる技術とかを学んだり実践したりする上で思うのは、よくあるなんとかアーキテクチャーとか(MV なんとかなども含めて)一つの指針としてはとても有用だと思いますけど、なんとかアーキテクチャーありきで開発するのは違うよなーということです。 そういう型にはめて型ありきでやろうとすると、この層なんのためにあるのかよくわからないとか、特定の層がやたら膨れ上がったりとか、どうしても歪ができてしまうような気がして。
「ドメイン」は現場によって違う。言語やフレームワークも違う。作業者の質や量も違う。結局、そのときどきに合わせて悩んで苦しんで生み出していくしかないのではないかというのが今の時点での私の結論ですかね。
どうせ成果物を何ヶ月後か何年後かにあらためて見返したら、「当時の俺ってアレやったな」としか思わないんですから。いつまで経っても。
まあ一言で言うと「銀の弾丸はない」っていうお決まりのフレーズになっちゃうんですけどね。
ああ、もちろん、大きな枠組みではなく細かい技術やノウハウの積み上げは必要だし重要です。たとえば 増田さんの本 はそういうものが詰まっているんだなと今さらながら気づきました。
言語について
私は Java 大好きっ子で、一方今回のセッションは Scala が多めだったわけですが、それはそれでいろいろ学びになります。 で、少し前から意識はしていたんですけど、やっぱり Java 以外の言語も勉強しないといけないと改めて思いました。
それは、いろんな言語を学んで選択肢を広げるということももちろんあるのですが、メインである Java をもっと深く知るためにこそ、Java だけでなく他の言語や言語を支える技術をもっと勉強したほうがよいという意味で。
オブジェクト指向について
私のオブジェクト指向に対する認識は、いろいろさまよった結果
オブジェクト指向の概念の発明者は誰ですか?(改訂版) - Smalltalkのtは小文字です、“オブジェクト指向”の本質 - Smalltalkのtは小文字です
この辺でとどまっています。また、数年前には社内勉強会の講師としてオブジェクト指向について話そうとして大爆死した経験もあったりします。そんなわけで、自分でもよくわかってないし人にも説明できないし、そもそも人によって言うことはまちまちだし、なんかもう最近は「みんなの心の中に、それぞれのオブジェクト指向があるんだよ」ってことでいいじゃないかみたいな感覚でいました。(getter/setter がカプセル化とかいうのはもちろんだめですけどね)
しかし、少なくとも Java という文脈の上ではそれはもう「型」ってことでいいんじゃない?と増田さんのセッションを聞いていて自信(?)が持てました。(雑な表現、雑な理解ですけども)
まあとりあえず、存在はだけ知っていたけど英語なので敬遠していた WhatIs 論文くらいはいまさらながら読もうと思いました。今の自分なら時間は掛かれど、それなりに読めるはず・・・。