フレーズの2番目の部分はまったく理解できませんでした...
'高レベル モジュールは低レベル モジュールに依存すべきではありません。どちらも抽象化に依存する必要があります (例: インターフェイス) '
私が変わったら…
class Upper {
foo = () => {
console.log('bar')
}
}
に...
class Upper {
foo = () => {
let lower = new Lower()
lower.bar()
}
}
class Lower {
bar = () => {
console.log('bar')
}
}
依存関係の反転に成功したと言えます。これは、コンソール コードが高レベル モジュール (ラッパー内にある) を壊すことができないためです。
この場合の抽象化はインターフェイス「Lower」ですが、コンソール コードは「Lower」に依存していませんか? それは何にも依存しません。それはただの「コード」です。
私の本当の質問は、この場合「依存関係」を正確に示したものだと思いますか?