결합도 예제

응용 프로그램은 라이브러리에 따라 다릅니다. 꽉 결합에서, 응용 프로그램은 lib의 최신 버전에 중단합니다. „DLL 지옥“에 대한 구글. 이렇게 하면 코드 조각 사이에 얼마나 많은 커플링이 있는지 확인하는 데 도움이 됩니다. 이 블로그 게시물을 볼 수 있는 추론을 위해: http://marekdec.wordpress.com/2012/11/14/loose-coupling-tight-coupling-decoupling-what-is-that-all-about/ 개체 지향 디자인에서 커플링은 한 요소가 다른. 즉, 클래스 A force에서 클래스 B의 변경과 관련된 변경 빈도를 말합니다. 커플링에는 두 가지 유형이 있습니다. 정보가 데이터 구조에 저장되고 메서드가 이 구조를 인식하는 경우 메서드와 상태 정보 간의 결합 정도가 매우 빠듯합니다. 구조가 변경될 때마다 메서드가 변경되어야 합니다.

콘텐츠 결합은 다른 모듈의 내부를 참조하는 경우 두 모듈 간에 발생합니다. 예를 들어 한 모듈이 다른 모듈로 분기하는 경우, 한 모듈이 다른 모듈의 데이터를 참조하거나 변경하는 경우 또는 한 모듈이 다른 모듈의 문을 변경하는 경우입니다. 실제로 어셈블러 언어만 콘텐츠 결합을 허용합니다. 대부분의 절차 및 개체 지향 프로그래밍 언어는 콘텐츠 커플링을 구현하기가 어렵습니다. 개체 지향 공통 커플링의 예로는 공용 인터페이스에 실행 중에 달라지는 값이 있는 항목이 포함되어 있고 기본 구조 및 구현 세부 정보가 숨지 않는 개체가 있습니다. 콘텐츠 커플링은 병리학적 커플링이라고도 합니다. 높은 응집력은 일종의 „타이트 한 커플링“과 비슷하지만, 높은 응집력은 서로에 대해 알아야 할 디자인 요소가 깔끔하고 우아하게 함께 작동하도록 설계된 상태입니다. · 디자이너는 정보 숨기기 기술을 사용하여 개체 내의 메서드와 상태 정보 간의 결합을 느슨하게 할 수 있습니다. 두 클래스는 개체 지향 계층 구조에서 상호 작용합니다. 긴밀한 결합에서 한 클래스를 변경하려면 다른 클래스를 업데이트해야 합니다. 일반적으로, 꽉 커플링은 나쁜 하지만 대부분의 시간, 그것은 유연성과 코드의 재 사용성을 감소 하기 때문에, 그것은 훨씬 더 어렵게 변경, 그것은 테스트 능력 등을 방해.

느슨한 커플링 은 느슨한 결합 때 당신을 도울 것 이다 때문에 더 나은 선택 변경하거나 성장해야 합니다. 느슨하게 결합된 아키텍처로 디자인하는 경우 요구 사항이 변경될 때 응용 프로그램의 일부만 영향을 받습니다. 꽉 커플링과 느슨한 커플링의 그림보기에 볼 수 있습니다 : · 상태 정보의 기본 구조가 수퍼클래스에서 변경되면 하위 클래스도 변경해야 합니다. 메서드를 통해 상속된 상태 정보에 액세스하여 커플링을 느슨하게 할 수 있습니다. 그런 다음 변경의 영향은 정보에 액세스하는 데 사용되는 메서드로 격리됩니다. 낮은 커플링은 한 모듈이 간단하고 안정적인 인터페이스를 통해 다른 모듈과 상호 작용하고 다른 모듈의 내부 구현과 관련될 필요가 없는 관계를 나타냅니다(정보 숨기기 참조).

응용 프로그램은 라이브러리에 따라 다릅니다. 꽉 결합에서, 응용 프로그램은 lib의 최신 버전에 중단합니다. „DLL 지옥“에 대한 구글. 이렇게 하면 코드 조각 사이에 얼마나 많은 커플링이 있는지 확인하는 데 도움이 됩니다. 이 블로그 게시물을 볼 수 있는 추론을 위해: http://marekdec.wordpress.com/2012/11/14/loose-coupling-tight-coupling-decoupling-what-is-that-all-about/ 개체 지향 디자인에서 커플링은 한 요소가 다른. 즉, 클래스 A force에서 클래스 B의 변경과 관련된 변경 […] , 2019