1. 회원 도메인 설계
- Service : 핵심 비즈니스 로직 구현
- MemberService 로 '회원가입' 및 '회원 조회' 기능 추상화
- MemberServiceImpl 에서 구체화
- <<interface>> MemberRepository 에 의존함, 그러나 구체 클래스에도 의존하고 있음 (DIP 위반)
- Repository : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리
- MemberRepository 로 데이터베이스에 '회원 저장' 및 'Id 회원 찾기' 기능 추상화
- 어떤 데이터베이스를 사용할 지 정해지지 않음 (자체 DB / 외부 시스템 연동)
2. 주문과 할인 도메인 설계
위의 강의자료처럼 역할과 구현을 분리해서 자유롭게 구현 객체를 조립할 수 있게 설계해야 한다.
덕분에 회원 저장소와 할인 정책을 유연하게 변경할 수 있다.
+. 기타사항
> HashMap은 동시성 이슈가 발생할 수 있으므로, 실무에서는 ConcurrentHashMap을 사용하자.
출처 : 김영한님의 스프링 핵심 원리 - 기본편 (link)
'Spring > 기본' 카테고리의 다른 글
6. 컴포넌트 스캔 (0) | 2023.08.04 |
---|---|
5. 싱글톤 컨테이너 (0) | 2023.08.04 |
4. 스프링 컨테이너와 스프링 빈 (0) | 2023.08.03 |
3. 스프링 핵심 원리 이해2 - 객체 지향 원리 적용 (0) | 2023.07.21 |
1. 객체지향 설계와 스프링 (0) | 2023.07.18 |