웹 개발/Spring
[Spring 기본] 새로운 구조와 할인 정책 적용
배세
2024. 8. 13. 17:20
새로운 구조와 할인 정책 적용
이전 포스팅에서 AppConfig를 사용해서 구조를 변경함으로써 책임과 역할을 분리했다. 이제 새로운 할인 정책을 적용하려면 AppConfig만 변경하면 된다.
public class AppConfig {
public MemberService memberService() {
return new MemberServiceImpl(memberRepository());
}
private MemberRepository memberRepository() {
return new MemoryMemberRepository();
}
public OrderService orderService() {
return new OrderServiceImpl(memberRepository(), discountPolicy());
}
public DiscountPolicy discountPolicy() {
return new RateDiscountPolicy();
}
}
=> discountPolicy() 메서드만 변경하면 된다.
클라이언트 코드인 OrderServiceImpl은 변경할 필요가 없다.
* 인프런 '스프링 핵심 원리 -기본편' 강의를 참고하여 작성했습니다.