SOLID 原則の解明 — (D)
Apr 17 2023
依存性逆転の原則
クラスは抽象化に依存する必要がありますが、具体化には依存しません。つまり、高レベルのモジュールは低レベルのモジュールに依存してはなりません。どちらも抽象化に依存する必要があります。
クラスは抽象化に依存する必要がありますが、具体化には依存しません。つまり、高レベルのモジュールは低レベルのモジュールに依存してはなりません。どちらも抽象化に依存する必要があります。
サンプルシナリオ
同じシナリオをAreaCalculatorクラスで使用して、新しい機能を追加してみましょう。今回は、ユーザーはクラスAreaCalculatorDisplayに反転を導入したいと考えています。
依存性逆転の原則に違反しないように、クラスAreaCalculatorによって実装されるICalculatorと呼ばれるインターフェイスを作成し、その抽象化はクラスAreaCalculatorDisplay によって消費されます。
したがって、 AreaCalculator内の機能またはメソッドが変更された場合でも、AreaCalculatorDisplay は、高レベル インターフェイスの抽象化レベルにより、アプリケーションの機能フローを中断することなく機能できます。
主な利点
- 高レベル モジュールは低レベル モジュールに依存する必要はありません。どちらも抽象化に簡単に依存できます。
- 低レベル モジュールは、インターフェイスの実装を実行できます。
- コードの柔軟性とスケーラビリティの向上。

![とにかく、リンクリストとは何ですか?[パート1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































