Java/Spring

단일 책임 원칙 예시

필리힐리 2021. 8. 31. 00:04

 

VIP는 무조건 1000원을 할인 해주는 정액 할인 정책 FixDiscountPolicy 객체가 DiscountPolicy 인터페이스에 끼워져있다.

 

 

여기서 OrderServiceImpl 입장에선 할인에 대해 전혀 몰라도 됨

할인 정책에 대해선 DiscountPolicy가 알아서 자율적으로 동작

 

만약 DiscountPolicy가 없다면 할인 정책에 대한 변경이 들어왔을 때 OrderServiceImpl의 로직을 변경해야함

 

OrderServiceImpl는 주문을 생성하는 하나의 책임, DiscountPolicy는 할인 가격을 알려주는 하나의 책임만 있기 때문에

단일 책임 원칙을 잘 지킨 코드이다.

'Java > Spring' 카테고리의 다른 글

의존성관계 주입  (0) 2021.09.06
OCP, DIP 위반  (0) 2021.09.03
좋은 객체 지향 프로그래밍이란?  (0) 2021.08.28
객체가 주입 & 객체 지향의 장점  (0) 2021.08.25
자바 코드로 스프링 bean 직접 등록  (0) 2021.08.23