0

密結合とは、クラスのグループが互いに大きく依存している場合です。

class C {
    A a;

    C(B b) {
      a = b;
    }
}

Interface A {
}

class B implements A {
}

私のコードでは、親インターフェイス A ではなく、クラス B の参照を通じてクラスのオブジェクトを受け入れています。

  1. 私のコードは疎結合ですか、それとも密結合ですか?

    疎結合は、単一の責任と関心の分離を促進する設計によって実現されます。

  2. 親クラスまたはインターフェースの参照を使用すると、コードがより柔軟になり、子クラスのオブジェクトを採用できるようになりますが、単一の責任をどのように促進しますか。

  3. 親クラス参照変数を使用するのではなく、他の方法で疎結合を実現できますか?いずれにせよ、特に私のコードではありませんか?

4

2 に答える 2

1

答え1:

密結合とは、クラスのグループが互いに大きく依存している場合です。

次の理由により、コードは密結合です。

C のコンストラクターは B に依存しているため、B のオブジェクトを型 A に格納しているためです。

答え2:

疎結合は、単一の責任と関心の分離を促進する設計によって実現されます。

インターフェイスは、デカップリングに使用する強力なツールです。クラスは、他の具象クラスではなくインターフェイスを介して通信でき、インターフェイスを実装するだけで、任意のクラスがその通信の反対側にいることができます。

例:

class C {
    A a;

    C(A b) { // use interface A rather Class B
      a = b;
    }
}
于 2015-05-13T11:43:09.203 に答える