男爵が書く

DDD、オブジェクト指向、技術書の感想など

Object-Oriented Conferenceで契約による設計について話してきました

去る先週の日曜日、Object-Oriented Conferenceに参加してきました。 オブジェクト指向好きとしてはド直球なテーマで、去年名前を聞いてからずっと楽しみにしていました。

ooc.dev

今の時代にあえてオブジェクト指向をメインテーマにするというのは、とても意義のあることだと思います。ドメイン駆動設計やマイクロサービスアーキテクチャがブームになる中で、そこに至るまでに先人達が歩んできた道筋を理解することなく、新しい概念や道具を使いこなすことは困難です。「何故」ドメイン駆動設計なのか、「何故」マイクロサービスなのか。オブジェクト指向を探求していけば、自然とその動機が見えてきます。

「時代の流れだから◯◯を使うべき」と言う人もいるでしょう。しかし、大抵の開発現場に必要なのは全く新しい何かではなく、これまで使いこなせていなかった道具に立ち返ることだと常々思います。それができて初めて、次のステップに進めるはずです。そうでなければ、新しいものにすぐに飛びついては失敗するというループを永遠に繰り返すことになります。

昨今、PHP界隈でもオブジェクト指向の話題が目立つようになってきました。関数型の要素が話題になりがちなScalaも、本格的なオブジェクト指向の機能を備えています。今オブジェクト指向を学ぶことは、ただ古い時代に思いを馳せることではなく、明日から使える古くて新しい道具を発掘することになるのです。

そんな思いを込めて、発表では「契約による設計」の話をさせていただきました。バートランド・メイヤーの『オブジェクト指向入門』でくどいくらいに説明されている設計手法です。とても簡単に導入できて、かつ劇的な効果を上げると自分は思っているのですが、意外にも現場で意識的に使っている人にはあまりお目にかかりません。今まで関わってきた開発チームには布教していたのですが、改めて自分の中で整理つつ解説するつもりで発表しました。

fortee.jp

ありがたいことに、発表資料のほうもたくさんの方に見て頂けているようです。それだけオブジェクト指向、というより「手の届く便利な道具」を求めている人が世の中にいるということなのだと思います。『オブジェクト指向入門』やその他の分厚い技術書を全てのエンジニアが読む必要はないと思います。自分にとっては「読む」ことが何より楽しい行為なので、そこで得たものを効率的に吸収出来る情報として世の中に出力していけば良いのだという自信に繋がりました。

OOCではPHPScalaのカンファレンスでよくお目にかかる方だけでなく、いわゆるオブジェクト指向ブームの頃から第一線で活躍されてきた方々ともお会いすることができました。astah*の開発者の方やオージス総研の中の人、自分の前の枠で登壇されていた豆蔵の羽生田先生など、これまで自分の中のオブジェクト指向を育むための材料となったものを世に送り出してくれた人達です。この二つの世代を繋ぐきっかけになったという意味でも、OOCは意義深いものになったのではないかと思います。

厳しい状況の中、開催まで漕ぎつけてくださったスタッフの皆様、出資していただいたスポンサー各社の方々に感謝します。毎年とは言わないので、末長く続いてほしいと思えるカンファレンスがひとつ増えました。