단일 책임 원칙

하나의 컴포넌트는 오로지 한 가지 일만 하며 그 일을 올바르게 수행해야 한다

하지만 실제 정의는

컴포넌트를 변경하는 이유는 오직 하나뿐이어야 한다

단일 변경 이유 원칙으로 이해하는게 더 알맞다


아키텍처의 의미

변경할 이유가 쌓인 후에는 한 컴포넌트를 바꾸는 것이 다른 컴포넌트가 실패하는 원인으로 작용 가능하다

Untitled

점선 화살표는 전이 의존성으로 다른 컴포넌트의 의존성이 전이된다.


그림 설명

그림을 보면 컴포넌트의 의존성 각각은 이 컴포넌트를 변경하는 이유 하나씩에 해당된다.

A 컴포넌트는 다른 여러 컴포넌트를 의존하게 된다. 반면에 E는 의존하는 컴포넌트가 없다.

E 컴포넌트가 변경되는 이유는 새로운 요구사항으로 E의 기능을 바꿀 때 밖에 없다.

하지만 A 컴포넌트는 모든 컴포넌트에 의존되고 있기 때문에 영향을 받아 같이 변경되어야 한다.