응집도

기능 / 순차 / 통신 / 시간 / 절차 / 논리 / 우연 으로 나눌 수 있다.

앞쪽의 응집도가 뒤쪽의 응집도 보다 좋다고 말할 수 있다.

기능적 응집도

모듈안의 모든 요소들이 모듈의 기능을 위해 함께 작동하는 것이다.

모듈이 하나의 기능을 하고 모듈의 요소들이 이 하나의 기능을 위해서 필수적인 부분일 때 높은 기능적 응집도를 가진다. 단일 책임의 원칙과도 연관이 높다.

모듈이 여러개의 책임을 가진다면 응집도를 파악하기 힘들다.

순차적 응집도

루틴이 특정한 순서대로 수행되어야 하고 단계마다 정보를 공유하며 동시에 수행될 때, 완전한 기능을 제공하지 못하는 연산을 포함할 때 존재하게 된다.

Untitled

퇴직일을 계산 후 퇴직금을 계산하기 때문에 순차적 응집도를 가진다.

Untitled

각각의 로직을 분리 하면 기능적 응집도를 가진다.

통신적 응집도

모델이 같은 데이터를 사용하지만 서로 아무런 관련이 없을 때 발생한다.

같은 데이터를 사용한다는 것외에는 아무런 관계가 없다.