BT

Eric Evans氏: ドメイン駆動設計は、今、より現実の問題に関連している

| 作者: Thomas Betts フォローする 5 人のフォロワー , 翻訳者 大田 緑 - (株)チェンジビジョン フォローする 0 人のフォロワー 投稿日 2017年10月30日. 推定読書時間: 3 分 | ディスカッション

原文(投稿日:2017/09/21)へのリンク

ドメイン駆動設計の著者、Eric Evans氏は、2003年に書かれた本の意見に挑戦するのは、もう意味はないが、コンセプトは、14年前よりも今のほうがより現実の問題に関連していると言った。Colorado州DenverのExplore DDDカンファレンスは、Evans氏の基調講演のプレゼンテーションで始まった。これは、北アメリカで行われる、ドメイン駆動設計に注目した初めてのカンファレンスだ。Evans氏は、ソフトウェア開発の歴史的な状況に関連して、DDDの主なコンセプトを説明した。様々なツールや技術が拡張されて、そのいくつかは、私たちが過去に持っていたものよりもよりDDDの原則に合っている。「DDDは技術に関するものではないが、技術に無関係な訳でもない」とEvans氏は言った。

2003年の最先端を振り返って見ると、Java、J2EE、SQLデータベース、オブジェクト関係マッピングがあったが、これ以上の選択肢はあまりなかった。選択肢がないことで、いくつかのツールが、唯一有効なオプションだっために使われることになった。例えば、ORMは私たちがすべてのことをする方法ではないが、10年から15年もの間、続いていると、Evans氏は言った。これは、どのツール、パターン、アーキテクチャも、ある状況では正しくなくなると言っているのではない。むしろ、Evans氏は、見境なく適用される、たった1つの解決方法しかないことに挫折感を味わった。また、Evans氏は、DDDが過去14年間以上進化してきたことを信じ、「私が本に書いたようにDDDを行ったとしたら、それはひどく残念なことだったでしょう。」と言った。

Evans氏のDDD本の多くのコンセプトは、その当時のツールで実装するのは難しく、現代のプラットフォームではより簡単になっている。彼の本で提案した1つのコンセプト、値オブジェクトを不変にすることは、過去には難しくて、ほとんどやる価値がなかったことをEvans氏は認めた。それに比べて、関数言語は不変を簡単にした。同様に、マイクロサービスの動きがコンテキストの境界を示す役に立ち、NoSQLデータベースは、リレーショナルデータベースよりも集合をよりよく管理できる。ソフトウェアの中心の複雑さに取り組むことに、常に注目し、完全にモデルを表現するソフトウェアを書くことを促進する、これらの発展を、Evans氏は賞賛した。「技術がこのようにあなたたちをサポートするなら、よりよいモデルを考え出すことに集中できます。」

ソフトウェアの妥協とトレードオフは避けられず、「すべての大規模システムがうまく設計される訳ではない」ことを、誰もが受け入れるように、Evans氏は励ました。「よい塀がよい隣人を作る」ような境界のある状況が、システムの悪い部分からよい部分を守る。そのため、すべての開発が、よく定義された境界のある状況にあるのではなく、すべてのプロジェクトがDDDに従う訳でないのは当然だ。開発者がレガシシステムに取り組むのを嘆く一方で、Evans氏は、レガシシステムに高い価値を見いだす。それらが企業にとって、お金になるからだ。Evans氏が、「いつの日か、あなたたちのシステムがレガシシステムになることを望む」ように開発者たちを励ましているのは、賞賛に値する。

Evans氏は、また、オープンソースソフトウェアを、特に学習の手段として奨励し、例を読んでSmalltalkを学んだことを紹介した。この考え方は、Explore DDDの協力的な環境に合い、プレゼンテーションの3分の1は、現実世界のケーススタディと、DDDを実装した経験を共有することに充てられた。

Evans氏は、優雅な設計を支持する方向にシフトするのを見て喜んでいる。Evans氏の本は、システムを拡大できずに、ビジネスも拡大できない時に直面する問題の扱い方が書かれていた。自己実現の要求として、「きれいな設計の必要性が、よりきれいな設計を生み出す」とEvans氏は言った。

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント Watch Thread

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT