변경 이유 분리
하나의 모듈이 정책 변경, 저장소 변경, UI 변경을 모두 담당하지 않게 합니다.
SRPSOLID는 클래스 이름을 나누는 규칙이 아니라 변경 이유, 확장 지점, 대체 가능성, 인터페이스 폭, 의존 방향을 코드 경계로 드러내는 설계 기준입니다.
하나의 모듈이 정책 변경, 저장소 변경, UI 변경을 모두 담당하지 않게 합니다.
SRPswitch와 조건 분기가 늘어나는 곳은 전략 객체나 함수 주입으로 확장 가능성을 검토합니다.
OCP하위 구현이 상위 계약의 전제와 결과를 깨뜨리지 않는지 테스트합니다.
LSP호출자가 쓰지 않는 메서드까지 구현하도록 강요하지 않습니다.
ISP상위 정책이 구체 저장소나 HTTP 클라이언트 구현에 직접 묶이지 않게 합니다.
DIP