generated at
依存関係逆転の法則
モジュールの依存関係について
上位と下位のお互いがお互いのことを知っているのは最悪
これを病理学的結合という
上位は何も考えず、下位が合わせていくのが良い実装

ただ、上位から下位にアクセスしたいこともある

この矛盾の解決のためには、
下位(使う側)が、protocolになる
もし上位(使われる側)が下位にアクセスしたければ、実体ではなくprotocolに合わせる

例:ドメイン層とデータベース管理層があったとする。(ドメインが上位)
ドメイン層のプログラムは、データベースのことを気にしたくない
なので、ドメイン層をプロトコル化する
データベースは、そのプロトコルに依存