HOME > INTERVIEW

【開催レポート】優れたアーキテクチャの定義とは何か - ON AIR #3 クリーンアーキテクチャ

update : 2021.02.09
text : subaru nakazono

クリーンアーキテクチャの提唱者である、Uncle BobことRobert C. Martin氏をゲストにお迎えし、エンジニアが押さえておきたいアーキテクチャの知見を解説いただいたイベント「Builders Box - ON AIR *」の様子を、レポートでお届けします。

なお、本イベントは会員限定のアーカイブ配信を予定しております。 こちらの配信は 2月22日(月)午前10時 から 3月1日(月)午前9時まで の期間限定配信となり、Builders Box会員サイト内で「REPORT」として新たに更新予定です。お楽しみにお待ちください。
▶アーカイブ映像はこちらから

*… 『Builders Box - ON AIR』とは、Builders Boxが企画・運営する、世界で活躍できるエンジニアになるための知見を共有するイベントです。2021年1月29日に、その第三回をオンライン配信で開催しました。

良いアーキテクチャはシステムの意図を伝える

セッション序盤、Robert氏は10年ほど前に、息子が手掛けているRuby on Railsのプロジェクトのレビュー依頼を受けたことを振り返りました。Ruby on Railsでは通常の場合、appディレクトリ配下にcontrollersやhelpers、models、viewsなどのディレクトリが格納されています。

そのディレクトリ構造を眺めているうち、「このアプリケーションが何をするのか」よりも「(Webという)アプリケーションのデリバリーメカニズム」が先に目に飛び込んでくるのはなぜか、という点について疑問を抱いたのだといいます。「かつて私は、先人たちの生み出してきた数多くのアーキテクチャから、優れたアーキテクチャはアプリケーションの意図を表現するものであると教わりました」とRobert氏は言います。

そのエピソードを紹介した後、Robert氏は“建築物”のアーキテクチャを例示しました。建築物の図面を眺めると、どのような意図で用いられる建物なのかを私たちは理解できます。たとえば図書館の図面ならば、どの箇所に書籍を収納したいのか、利用者はどの場所で本を読めるのかなどがわかるでしょう。他の種類の建築物でも同じことが言えます。

「システムのアーキテクチャも建築物と同様に、システムの意図を伝えるものでなければいけません」とRobert氏は続けます。そのうえで、彼はこれまで偉大な先人たちから何を学びとってきたのか。そしてクリーンアーキテクチャがどのような思想のもとに成り立っているのかを解説していきました。

Builders Boxに登録して全ての記事を読む

Others