今年のDDDxは、Eric Evans氏の基調講演で始まった。講演はパラダイムシフト、すなわち以前のDDDは、オブジェクト指向デザインの一部と考えられたが、今では独自のデザインと言う考えに変わったことにフォーカスされていた。氏は、このシフトは、関数型言語を含んだ、OO言語を超えようとする現在のトレンドだ、と言っている。
オブジェクト指向プログラミング(OOP)は、ドメイン駆動設計(DDD)が書かれた時の主要なパラダイムだった。私がプログラマとして職に付いた頃、OOPは本当に興奮する新しいもので、それから主要なパラダイムとなった。そうだったので、2つのものは人々の頭のなかで、一体のようになっていた。DDDの考えとOODの考えがほとんど人々の頭の中では、ほとんど不可分だった。しかし私の頭の中ではそうではなかった。そして今、我々は、他のものに本当に興味を覚え始めている。それを認識することは重要である。そこで、今日の話のいくつかは、DDDのことで、特にオブジェクト指向セッティングのことではない。
reg Young氏による最初の話は、このシフトに関連しており、いかに関数プログラミングとDDDが相性がいいかについて話した。Ian Johnson氏の結論は、いかにこの2つが完璧にうまく行くかをもっと明らかにしようとする話だった。
関数型DDDによって確信できることがあります。
- 凝集性:オブジェクトモデルが与えてくれる1つは、関数の強い凝集性である。たとえイミュータブルなドメインオブジェクトを扱う場合でさえ、状態変更メソッドの全ては、オブジェクト内で一緒に結合しており、外界からは見えないように、オブジェクト内に隠すことができる。
- 我々が開発しようとしているモデルはどこにあるのか?ユビキタス言語はどこにあるのか? 我々はなお、動詞をメソッドとして、イベント表現としてモデル化できることを私は、理解できる。しかし、名詞は、どこをこれに合わせるのか? 今や、名詞を失うのだろうか?
Rinat Abdullin 氏は以下のプレゼンを推薦していた。
- 戦略的設計と確立された形式化を含んだケーススタディ (Eric Evans氏)
- DDDで関数型プログラミング (Gregory Young氏)
- なぜ私の全てのDDDアプリケーションは、同じに見えるのか? (Alberto Brandolini 氏)
これら全てのプレゼンは、オンラインで見れる。
イベントに関するツイッターによるフィードバックには、以下のものがある。
ijrussell:@skillsmatter の素晴らしい日から戻りましたが、これまでで最高の#dddxと思います。:-)
jnthnwrthngtn: 今年の #DDDXは、とても良かった。@carlmasakと私は、もう来年のにサインアップしました。ありがとう、 @Edument、素晴らしい時間を過ごせました。 :)
一日の交流は、5年目でロンドンにオフィスを構える SkillsMatterによって開催された。来年のDDDx は、同じ会場で2013年6月14日に予定されている。