에듀윌 · SRP · 실무
도메인 적용
SRP가 코드에서 살아 움직이는 법

책임을 나누면 사이드 이펙트가 사라진다

위반 (Before)준수 (After)
OrderService 하나에 검증·결제·배송·알림 다 포함OrderValidator·PaymentService·ShippingService·NotificationService로 분리
이메일 양식 바꿀 때 주문 코드도 같이 건드림이메일 코드만 수정하면 끝
도메인 실무
메신저 알림: 푸시·이메일·SMS·로그·통계를 한 클래스가 처리 → PushSender·EmailSender·SmsSender… 5개로 분리. 간편결제: PaymentValidator → PaymentApprover → PaymentNotifier. 통보만 바뀌어도 검증·승인은 무수정.
💡 SRP 위반 신호
클래스 이름에 'And'가 있다 · 한 클래스에 메서드 6개 이상 · 한 클래스가 여러 이유로 자주 수정 — 하나라도 보이면 의심.