스프링/1. 스프링 핵심 원리

15강. AppConfig 리팩토링

sdafdq 2023. 7. 16. 17:01

기존

어떤 구현체가 써져 있었는지 잘 안보임.

 

public class AppConfig {
    public MemberService memberService(){
        return new MemberServiceImpl(memberRepository());
    }

    private MemberRepository memberRepository() {
        return new MemoryMemberRepository();
    }

    public OrderService orderService(){
        return new OrderServiceImpl(memberRepository(), discountPolicy());
    }

    private DiscountPolicy discountPolicy() {
        return new FixDscountPolicy();
    }
}

어떤 구현체 썼는지 다 드러남.

 

그리고 역할간에 연결성도 보임