하나의 컴포넌트는 오로지 한 가지 일만 하며 그 일을 올바르게 수행해야 한다
하지만 실제 정의는
컴포넌트를 변경하는 이유는 오직 하나뿐이어야 한다
단일 변경 이유 원칙으로 이해하는게 더 알맞다
변경할 이유가 쌓인 후에는 한 컴포넌트를 바꾸는 것이
다른 컴포넌트가 실패하는 원인으로 작용 가능하다
점선 화살표는 전이 의존성으로 다른 컴포넌트의 의존성이 전이된다.
그림을 보면 컴포넌트의 의존성 각각은 이 컴포넌트를 변경하는 이유 하나씩에 해당된다.
A 컴포넌트는 다른 여러 컴포넌트를 의존하게 된다. 반면에 E는 의존하는 컴포넌트가 없다.
E 컴포넌트가 변경되는 이유는 새로운 요구사항으로 E의 기능을 바꿀 때 밖에 없다.
하지만 A 컴포넌트는 모든 컴포넌트에 의존되고 있기 때문에 영향을 받아 같이 변경되어야 한다.