💻 스프링 핵심 기술 - 기초
해당 강의는 김영한님의 스프링 핵심 원리- 기초 강의를 수강하여 공부한 내용은 간략하게 기록하는 기록장
스프링 핵심 원리 기초 강의
현재 요구사항을 확인해보면 결정되지 않은 사항이 꽤 많다.
해당 결정이 완성된 이후에 개발 지연은 현실적으로 어렵기 때문에 객체지향 설계를 통해서 해당 기능의 인터페이슬르 통해서 구현체를 바꾸는 방식을 사용하는 것!!
회원 가입 및 조회
회원 등급은 일반/VIP
회원 데이터는 자체 DB or 외부 시스템
클라이언트를 통해서 회원 서비스를 제공
요청받은 요구사항인 가입 및 조회 기능을 가진 회원 서비스 역할
회원 저장소의 역할을 수행하는 역할을 만들고 구현체를 선택
다만 현재 어떤 구현체를 써야하는지 명확한 명세가 없음으로 개발을 위해서 메모리 회원 저장소를 사용
추후 DB또는 외부 시스템 사용의 경우에 추가 구현체 생성
각각 구체화하여 보면 멤버 서비스, 멤버 리포지토리 인터페이스를 만들고 이를 구현하는 구현체를 각각 어떤걸 만들지 알아본다.
멤버 서비스의 멤버 리포지토리 자체는 인터페이스에 의존한다.
다만 할당하는 부분이 구현체에 의존하게 되는게 문제다.
이게 DIP 를 위반하는 것이다.