クラス図にするとこんな感じですね。 (メソッドは省略) こんな風に上位のクラス(Presentation)が、より下位のクラス (Application) に依存していると上位のクラスの再利用が妨げられます。SomeApplication をがっちりつかんでて使いまわししづらいです。芋づる式に上位のクラスを使おうと思うと下位のクラスにがついてきます。 依存性の逆転 実装に直接依存するのではなく、間に抽象を挟むことで実装に依存しなくなります。 ISomeApplication は、SomePresentation の都合によって定義されるもので SomePresentation の一部だと考えると SomeApplication から Presentation 側に矢印が向いてる感じになってるように見えますね。矢印の向きが反対になりました。 組み立てないと… こういう風に定義すると、やっぱり

