固体中のDの再訪
3183 ワード
パヴェNorkoranecによる写真
これはソリッドの続きです.最後のポストでは、私は私をカバーし、今私たちは最後のDを続けているので、最後の投稿をチェックしていない場合は、リンクをクリックしてください.
依存性反転原理
これはソリッドの続きです.最後のポストでは、私は私をカバーし、今私たちは最後のDを続けているので、最後の投稿をチェックしていない場合は、リンクをクリックしてください.
依存性反転原理
依存反転原理は開いた/閉じた原理とliskov置換原理に基づいている.そして、それは高レベルモジュールが低レベルモジュールに依存してはならないと基本的に述べます.
簡単に言えば、具体的なものに依存することはなく、詳細に依存するだけではなく抽象化に依存するだけである.
あなたが写真で見るように、反転は低レベルモジュールが現在高いレベルに依存することを意味しません.従来のアプリケーションアーキテクチャでは、低レベルコンポーネントは、高レベルコンポーネントによって消費されるように設計されている.
単純な例のための時間、右?
public class SteelWheel {
//properties and methods
}
public class Car {
public Car (SteelWheel wheel) {
}
}
ご覧の通り、車のクラスは車輪の具体的な実装に頼らざるを得ません.そして、我々の原理は、何を言いますか?
Never depend on anything concrete, only depend on abstractions
We did violate our principle, right?
さて、あなたは今疑問に思うかもしれない、ああ、車のクラスは良い、なぜ私はこれを気にすべきですか?
MMMM、良い質問が、私と想像してください.あなたは1日、alloywheelにあなたのスチールホイールを変更する必要があります.自動車のクラスはどうするのですか.
私は、あなたが私のポイントを得ていることを望みます.
車のクラスは、使用されている車輪を気にするべきではありません.
public interface Wheel {
}
public class SteelWheel implements Wheel {
//properties and methods
}
public class Car {
public Car (Wheel wheel) {
}
}
そして、それは低レベルモジュールとハイレベルのものが抽象化に依存する方法です.
結論
私は、このシリーズが役に立ったことを望みます.あなたに良い一日を祈ります!
ソース
https://en.wikipedia.org/wiki/Dependency_inversion_principle
ロバート・C・マーティン「森の原理」
オブジェクト指向ソフトウェア構築、第2版
http://www.cvc.uab.es/shared/teach/a21291/temes/object_oriented_design/materials_adicionals/principles_and_patterns.pdf
Reference
この問題について(固体中のDの再訪), 我々は、より多くの情報をここで見つけました
https://dev.to/sightlessdog/revisiting-the-d-in-solid-4795
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
public class SteelWheel {
//properties and methods
}
public class Car {
public Car (SteelWheel wheel) {
}
}
Never depend on anything concrete, only depend on abstractions
We did violate our principle, right?
public interface Wheel {
}
public class SteelWheel implements Wheel {
//properties and methods
}
public class Car {
public Car (Wheel wheel) {
}
}
私は、このシリーズが役に立ったことを望みます.あなたに良い一日を祈ります!
ソース
https://en.wikipedia.org/wiki/Dependency_inversion_principle
ロバート・C・マーティン「森の原理」
オブジェクト指向ソフトウェア構築、第2版
http://www.cvc.uab.es/shared/teach/a21291/temes/object_oriented_design/materials_adicionals/principles_and_patterns.pdf
Reference
この問題について(固体中のDの再訪), 我々は、より多くの情報をここで見つけました
https://dev.to/sightlessdog/revisiting-the-d-in-solid-4795
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(固体中のDの再訪), 我々は、より多くの情報をここで見つけました https://dev.to/sightlessdog/revisiting-the-d-in-solid-4795テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol