오늘은 관심사의 분리에 대해 공부한다
AppConfig - 애플리케이션의 전체 동작 방식을 구성하기 위해, 구현 객체를 생성하고, 연결하는 책임을 가지는 별도의 설정 클래스를 만들기
AppConfig 클래스를 최상단에 생성하기
-memberRepository를 추상화하고 AppConfig를 통해 주입
AppConfig 클래스에 OrderService 생성
-AppConfig를 통해 orderService를 조회하면 MemoryMemberRepository와 FixDiscountPolicy가 나온다
AppConfig는 생성한 객체 인스턴스의 참조를 '생성자를 통해 주입(연결)' 해준다
객체를 생성하고 연결하는 역할과 실행하는 역할이 명확히 분리되었다
MemberApp 클래스에 AppConfig를 통하여 의존관계 주입
OrderApp 클래스에 AppConfig를 통해 의존관계 주입하기
MemberServiceTest 클래스에 AppConfig를 통해 의존관계 주입하기
OrderServiceTest 클래스에 AppConfig를 통해 의존관계 주입하기