上記の例で提供されているスクリプトは、Java と JavaScript の両方における依存関係注入の概念を示しています。 Java の例では、まず、 interface 呼ばれた Service たった一つの方法で execute()。の ServiceImpl クラスはこのインターフェイスを実装し、実際の実装を提供します。 execute() 方法。の @Override アノテーションは、このメソッドがメソッドをオーバーライドしていることを示します。 Service インターフェース。次に、 Client に依存するクラス Service インターフェース。の Client クラスは、の具体的な実装から独立するように設計されています。 Service インターフェースを変更することなく、実装を簡単に切り替えることができます。 Client クラス自体。これは、 Service に反対
![ソフトウェア設計における依存関係の挿入について理解する](https://cdn-ak-scissors.b.st-hatena.com/image/square/5a063a025a9c3fd5112ed9c1c6132a3e09531256/height=288;version=1;width=512/https%3A%2F%2Fwww.tempmail.us.com%2Fimages%2Fda%2Fda89c65973849a44f59f1cd56bced843.png%2F%25E3%2582%25BD%25E3%2583%2595%25E3%2583%2588%25E3%2582%25A6%25E3%2582%25A7%25E3%2582%25A2%25E8%25A8%25AD%25E8%25A8%2588%25E3%2581%25AB%25E3%2581%258A%25E3%2581%2591%25E3%2582%258B%25E4%25BE%259D%25E5%25AD%2598%25E9%2596%25A2%25E4%25BF%2582%25E3%2581%25AE%25E6%258C%25BF%25E5%2585%25A5%25E3%2581%25AB%25E3%2581%25A4%25E3%2581%2584%25E3%2581%25A6%25E7%2590%2586%25E8%25A7%25A3%25E3%2581%2599%25E3%2582%258B.png)