높은 내집합, 낮은 커플링' 은 코드에 비해 한 프로젝트에서 각 모듈이 서로 연결되는 정도, 모듈 간의 연결이 촘촘할수록 커플링이 높을수록 모듈의 독립성이 떨어집니다! 사실은 정반대이다.
한 모듈에서 요소 간의 관계가 얼마나 촘촘한지, 요소 (문, 절차 세그먼트) 간의 관계가 높을수록 내집성이 높아진다. 즉' 고내집합'!
예를 들어 한 프로젝트에서 20 개의 메서드 호출을 사용하는 것이 좋지만 그 중 하나는 수정해야 하고 19 는 수정해야 합니다. 이것은 높은 커플 링입니다! 독립성이 떨어진다!
지식 확장:
고내집합저커플링은 소프트웨어 엔지니어링의 개념이자 소프트웨어 설계의 품질을 판단하는 표준입니다. 주로 프로그램의 객체 지향 설계에 사용되며, 주로 클래스의 응집성이 높지 않습니다. 프로그램 모듈의 재사용 가능성과 이식성을 크게 향상시키기 위한 것입니다. 일반적으로 프로그램 구조에서 각 모듈의 집결성이 높을수록 모듈 간의 결합성이 낮아집니다.
내합은 기능의 관점에서 모듈 내부의 관계를 측정하는 것이다. 좋은 내부 집합 모듈은 모듈 내부의 기능적 관계를 설명하는 한 가지 일만 해야 한다. 커플링은 소프트웨어 구조에서 모듈 간의 상호 연결의 측정값으로, 모듈 간 인터페이스의 복잡성, 모듈에 들어가거나 액세스하는 지점 및 인터페이스를 통해 전달되는 데이터에 따라 달라집니다.
소프트웨어 설계에서 커플링과 응집도는 종종 모듈의 독립성을 측정하는 기준으로 사용됩니다. 모듈을 분할하는 기준 중 하나는 높은 내합과 낮은 결합이다. 모듈 세분성의 관점에서 볼 때, 높은 내부 집계: 클래스의 각 멤버 메서드가 가능한 한 한 한 한 가지 (최대 집계) 만 완료되도록 합니다. 낮은 결합: 한 멤버 메서드가 다른 멤버 메서드를 호출하는 클래스 내부를 줄입니다.
클래스 관점에서 고내집합 저결합: 클래스 내의 다른 클래스에 대한 호출을 줄입니다. 기능 블록의 관점에서, 고내집합 저결합: 모듈 간의 상호 작용 복잡성 (인터페이스 수, 매개변수 데이터) 을 줄입니다. 즉, 가로: 클래스 간, 모듈 간 세로: 계층 간 가능한 한 콘텐츠 응집력, 데이터 결합을 수행합니다.