컴포넌트
- 컴포넌트는 배포 단위다.
- 자바의 경우 jar 파일이 컴포넌트다.
컴포넌트 응집도
- REP: 재사용/릴리스 등가원칙
- 소프트웨어 컴포넌트가 릴리스 절차를 통해 추적 관리되어야 한다.
- CCP: 공통 폐쇄 원칙
- 단일 책임 원칙을 컴포넌트 관점에서 다시 쓴 것이다.
- 단일 컴포넌트는 변경의 이유가 여러 개 있어서는 안 된다.
- CRP: 공통 재사용 원칙
- 인터페이스 분리 원칙의 포괄적인 버전이다.
- 같이 재사용되는 경향이 있는 클래스와 모듈들은 같은 컴포넌트에 포함해야 한다.
- 강하게 결합되지 않은 클래스들을 동일한 컴포넌트에 위치시켜서는 안 된다.
<aside>
💡
과거에는 결합도에 대한 인식 수준이 훨씬 단순했다. 응집도를 ‘모듈은 단 하나의 기능만 수행해야 한다’는 속성 정도로 단순하게 이해한 적도 있었다. 하지만 컴포넌트 응집도에 관한 위의 세 가지 원칙은 응집도가 가질 수 있는 훨씬 복잡한 다양성을 설명해 준다.
</aside>
컴포넌트 결합