ある要素が別の要素によって直接使用される度合いは、 カップリング オブジェクト指向設計で。この記事では、疎結合について理解します。 次の順序で:
Javaでのカップリングの種類
カップリングには2つのタイプがあります。
- 密結合 :オブジェクトが使用するオブジェクトを作成すると、それが呼び出されます 密結合 。
- 疎結合 :オブジェクトが外部ソースから使用されるオブジェクトを取得するとき、それを呼び出します 疎結合 。
この記事では、Javaの疎結合を調べ、その実装方法を確認します。
Javaの疎結合とは何ですか?
オブジェクトが外部ソースから使用されるオブジェクトを取得するとき、それを呼び出します 疎結合 。
言い換えると、疎結合とは、オブジェクトが独立していることを意味します。疎結合コードは減少します メンテナンスと努力。 これは、疎結合コードによって削除された密結合コードの欠点でした。
Javaでディープコピーを作成する方法
2つのクラスAとBがあると想像してください。クラスAには、インターフェイスを介して公開されたクラスBに関する情報がほとんどありません。その場合、クラスAとBは次のようになります。 疎結合 。
疎結合のコード:
import java.io.IOException interface Animal {public void display()} class Dog {Animal s public Dog(Animal s){this.s = s} public void display(){System.out.println( 'Dog')s .display()}}クラスCatはAnimalを実装します{public Cat(){} public void display(){System.out.println( 'Cat')}}クラスCowはAnimalを実装します{public Cow(){} public void display( ){System.out.println( 'Cow')}} public class Test {public static void main(String args [])throws IOException {Animal b = new Cat()Animal c = new Cow()Dog a = new Dog (b)// a.display()は犬と猫を出力しますa.display()Dog a1 = new Dog(c)// a.display()は犬と牛を出力しますa1.display()}}
出力:
説明:
上記のコードの3つのクラスはすべて疎結合です。これは、動物のインターフェースを使用して実装されたクラスのいずれかを注入することにより、benユーザーにサービスを提供します。
密結合と疎結合の違い
疎結合は、密結合よりもテスト能力が優れています。
疎結合は、プログラムのGOF原則に従ってインターフェースし、実装しませんが、密結合はインターフェースの概念を提供しません。
トークンJavaとは
疎結合では2つのクラス間でコード/オブジェクトを交換するのは簡単ですが、密結合ではそれほど簡単ではありません
疎結合は非常に変更可能ですが、密結合は変更できません。
結論として、 密結合は、コードの柔軟性と再利用性を低下させるため、疎結合に比べてはるかに悪く、密結合では変更を加えることも非常に困難です。密結合のすべての欠点と疎結合で取り除かれます。
これで、このJavaでの疎結合の記事は終わりです。カップリングがどのように機能し、疎結合とは何かについて理解していただければ幸いです。
チェックしてください 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。 EdurekaのJavaJ2EEおよびSOAトレーニングおよび認定コースは、Java開発者になりたい学生および専門家向けに設計されています。このコースは、Javaプログラミングをすぐに開始できるように設計されており、HibernateやSpringなどのさまざまなJavaフレームワークに加えて、コアと高度なJavaの両方の概念についてトレーニングします。
質問がありますか?この「Javaでの疎結合」ブログのコメントセクションでそれについて言及してください。できるだけ早くご連絡いたします。