どのようにシステム自体の複雑性を排除していくのか 複雑性は依存(dependency)と不明瞭さ(obvious)によって生じている。この2つは併存することも多く、依存性が不明瞭になると、ますます複雑になる。そのため、依存性と不明瞭さを消していく・最初から生まないようにすることが必要。よって、依存が少なく(ゼロにすることは不可能)、明瞭な、シンプルなモジュールを作らなくてはならない。 interfaceを狭くシンプルに、implementationを深く問題解決をやり切る形で作る。 特に気になった部分 5章 Information Hiding (and Leakage) 依存性を下げるために、情報を隠蔽することが重要である。情報を外側に漏洩してしまうと、そこに依存性が生まれる。デザインを行うときには、そのモジュールがタスクを実行するために知っておくべきことだけが含まれているか、またそれが