10章
設計の経験則
「場合による」は、ソフトウェア開発のどんな問題に対しても通用する、正しい答えです。しかし実際には何の役にも立ちません。この章では、もっと具体的に、「どういう場合にどうすればよいか」を探求します。
第Ⅰ部では、事業活動を分析し設計方針を決めるための、ドメイン駆動設計の考え方とやり方を学びました。第Ⅱ部では、ソフトウェアの実装方法、つまり業務ロジックの実装方法、システムを構成する個々のコンポーネント(区切られた文脈)の組み立て方、そして区切られた文脈どうしをつなぐ通信方法を探求しました。この第10章は、第Ⅰ部と第Ⅱ部を結びつけます。事業活動の分析技法を使ってソフトウェア設計を駆動するための経験則を学びます。すなわち、ドメイン(事業)で駆動する(ソフトウェア)設計です。
具体的な経験則を説明する前に、まず経験則(ヒューリスティクス)という言葉の定義から始めましょう。
10.1 経験則
経験則とは、100%正しいことが数学的に証明された定理ではありません。むしろ、おおまかなやり方です。つまり、完全であることは保証されてはいませんが、実際の仕事で役に立つやり方です。別の言い方をすれば、経験則とは、大量の手がかりが生み出す騒音を遮断し、「複雑さの根源」が生み出す重要な手がかりに焦点を合わせるための、実践的な問題解決手法です*1。
*1 G. Gigerenzer、P. M. Todd、ABC Research Group共著『Simple Heuristics That Make Us Smart』(Oxford University Press、1999年)
この章で紹介する経験則は、次の二つに焦点を合わせています。
- さまざまな事業活動に共通する本質的な特性 ...
Get ドメイン駆動設計をはじめよう ―ソフトウェアの実装と事業戦略を結びつける実践技法 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.