2014-02-11 2 views
0

현재 Java의 커플 링 및 종속성에 대해 배우고 있습니다. this tutorial을 읽었으며 class1에 class2 인스턴스가 포함되어 있고 exampleMethod(c2)과 같은 메서드를 호출하면 class1과 class2 간의 종속 관계로 간주된다는 것을 이해해야합니다. 그러나 아래 예제에 대해서는 확신 할 수 없습니다. 아무도 나에게 약간의 설명을 줄 수 있습니까?커플 링 및 종속성 설명

우리는 (어느 것이 Class2의 c2 포함) Class1의 내부에 있다고 가정하고 : 클래스 1은 Class2의 (예 c2.aMethod())에 정의 된 방법을 호출하는 클래스 1과 Class2의 사이의 의존/결합으로서이 횟수 않으면

  1. ?

  2. c2.someSetterMethod(argument)을 class1과 class2 간의 종속성/결합으로 계산합니까?

  3. class1 내에 c2.repaint()을 (를) 호출하여 종속성을 계산합니까?

답변

1

class1에 class2 인스턴스에 대한 참조가 포함되어 있다는 사실은 class1이 인 경우 class2에이 종속됨을 의미합니다. 3 가지 예제 모두에서 메소드를 호출하기 위해 class2에 대한 참조가 필요합니다. 이렇게하면 클래스 1의 종속성에 대한 필요성 만 증가하지만 종속성 자체는 증가하지 않습니다.

이전 질문에 대한 답변에서 설명한대로 http://depfind.sourceforge.net/Manual.html#Dependencies을 읽으십시오 : https://stackoverflow.com/a/21689495/1659599.

0
  1. 예.
  2. 예.
  3. 예.

커플 링을 줄이는 한 가지 방법은 인터페이스를 사용하는 것입니다. 이렇게하면 클래스 1은 인터페이스에 대해서만 알고 클래스 2와 구체적으로 결합되지 않습니다. 사실, 인터페이스를 구현하는 클래스는 클래스 2 대신 사용될 수 있으며 클래스 1은 여전히 ​​만족 될 것입니다.

관련 문제