개발_프로그래밍

클린 아키텍처 - 13장. 컴포넌트 응집도 Component Cohesion

_랄프_ 2022. 9. 21. 06:24
728x90

■ 13장 컴포넌트 응집도 Component Cohesion

컴포넌트 응집도 관련 3가지 원칙이 있다.

1. 재사용/릴리스 등가 원칙 REP: The Reuse/Release Equivalence Principle

2. 공통 폐쇄 원칙 CCP: The Common Closure Principle

3. 공통 재사용 원칙 CRP: The Common Reuse Principle

1. 재사용/릴리스 등가 원칙 REP

재사용 단위는 릴리스 단위와 같아야 한다.

어떤 라이브리를 사용하고 신규 버전으로 업데이트하는 경우 우리는 릴리스 번호를 참조한다. 어찌 보면 매우 당연하고 직관적인 원칙이다. 설계 관점에서 보면 컴포넌트 안에는 응집성 높은 클래스와 모듈만 있어야 한다. 이들은 버전 번호가 같아야 하고 동일한 릴리스로 추적관리 되어야 한다.

 

728x90

 

2. 공통 폐쇄 원칙 CCP

동일한 이유로 동일한 시점에 변경되는 클래스를 같은 컴포넌트로 묶어야 한다. SRP(단일책임원칙)의 컴포넌트 버전이다. 변경은 여러 컴포넌트에 분산되어 발생하기보다는 단일 컴포넌트 안에서 발생하는 것이 낫다. 그러면 배포도 해당 컴포넌트만 하면 된다. 릴리스, 재검증, 배포의 작업량을 최소화할 수 있다.

4. 공통 재사용 원칙 CRP

컴포넌트 사용자들을 필요하지 않은 것에 의존하게 하면 안 된다.

컴포넌트 안에는 누군가 자기를 사용하는 클래스도 있고 아닌 것도 있을 수 있다. 이 경우는 결국 모든 클래스에 대해 의존성이 있다고 인지해야 한다. CRP는 강하게 결합되지 않은 클래스들을 동일한 컴포넌트에 둬서는 안 된다는 의미이다.

<14장에서 계속>

 

728x90
반응형