반응형 의존관계역전원칙2 [Spring Boot] : DIP 코드를 리팩터링하여 OCP도 만족하게 하기 DIP 코드를 리팩터링하여 OCP도 만족하게 하기 코드 리팩터링 public class AppConfig { public MemberService memberService() { return new MemberServiceImpl(new MemoryMemberRepository()); } } 이 코드는 객체 안에서 new를 통해 특정 객체를 직접 생성하고 있다. 이러면 문제가 중복이 생긴다. 예를 들면 MemberServiceImpl과 OrderServiceImpl에서 MemoryMemberRepository를 사용하기 위해 각각 위 코드처럼 (new MemoryMemberRepository()); 이렇게 따로 생성해 줘야 하기 때문에 이 자체를 중복이라고 본다. public class AppConfig.. 2022. 1. 4. [Spring Boot] : DIP 의존 관계 역전 원칙 적용 예시 DIP 의존 관계 역전 원칙 적용 예시 public class MemberServiceImpl implements MemberService { private final MemberRepository memberRepository = new MemoryMemberRepository(); public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } MemberServiceImpl을 보면 private final MemberRepository memberRepository = new MemoryMemberRepository(); 를 통해 추상화와 구현체를 관리하고 있다. 만약 요구사.. 2022. 1. 3. 이전 1 다음 반응형