Spring 적용 전 - OCP, DIP를 지켜 인터페이스의 구현 클래스 변경


Spring 적용 전 - OCP, DIP를 지켜 인터페이스의 구현 클래스 변경

MemberServiceImpl 라는 MemberService 구현 클래스는MemberRepository라는 인터페이스를 생성자를 통해 주입받는다.-> MemberServiceImpl는 MemberRepository에 뭐가 올지 모른다.따라서 MemberServiceImpl는 코드를 수정할 일이 없고 외부(AppConfig)에서 컨트롤 해준다.(MemberServiceImpl가 전에 구현클래스들을 의존했던게 사라짐)OrderServiceImpl도 같은 원리AppConfig 클래스는 생성한 객체 인스턴스의 레퍼런스를 생성자를 통해서 주입해준다.(객체의 생성과 연결은 AppConfig가 담당)구현 클래스 변경이 필요할 때 AppConfig만 변경 해주면 된다.(인터페이스, 구현 클래스는 아무것도 안건들여도 됨)-> 이러면 DIP, OCP를..........



원문링크 : Spring 적용 전 - OCP, DIP를 지켜 인터페이스의 구현 클래스 변경