SPRING 핵심 원리 [ 기본편 ]

[스프링 핵심 원리] 섹션 2.3 예제만들기 (회원 도메인 설계)

wlalsu_u 2023. 1. 24. 13:50

2.3.1  회원 도메인 요구사항 설계

 

 

 

앞선 섹션 2.2의 비즈니스 요구사항을 바탕으로 회원 도메인을 설계해보자.

 

 

회원 도메인 요구사항은 다음과 같다,

 

 

 

 

 

회원 도메인 요구사항

 

 

1) 회원 가입과 조회가 가능해야 한다.

 

2) 회원 등급은 일반 / VIP 로 나뉜다.

 

3) 회원 데이터는 자체 DB 를 구축할 수도 있고, 외부 시스템과 연동될 수도 있다. (미확정)

 

 

 

 

 

 

회원 도메인 요구사항을 설계해보면 다음과 같다.

 

 

 

 

출처 : 김영한 - spring 핵심 원리 - 기본편

 

 

 

 

클라이언트

 

 

: 클라이언트가 회원 서비스를 호출한다.

 

 

 

회원 서비스

 

 

: 회원 서비스는 회원 가입과 조회 기능을 제공한다.

 

 

 

회원 저장소

 

 

: 회원 저장소를 별도로 만들어, 회원 데이터에 접근하는 계층을 따로 생성한다.

 

(회원 DB 를 자체 구축할 수도 있고, 외부 시스템과 연동될 수도 있으므로)

 

 

 

 

 

 

 

 

앞선 회원 도메인 협력 관계를 클래스 다이어그램으로 나타내면 다음과 같다.

 

 

 

 

출처 : 김영한 - spring 핵심 원리 - 기본편

 

 

 

MemberService

 

 

- 회원가입/ 조회 기능을 제공하는 인터페이스를 생성한다.

 

- MemberService 인터페이스를 MemberServiceImpl 에서 구현한다.

 

 

 

 

MemberRepository

 

 

- 회원 저장소 역할을 수행하는 MemberRepository 인터페이스를 생성한다.

 

- 메모리 회원 저장소 / DB 회원 저장소로 각각 구현한 후, 필요한 구현체를 사용할 수 있도록 한다.

 

 

 

 

아직 저장소가 결정되지 않았으므로, 메모리 회원 저장소를 사용하여 개발을 진행하고자 한다.
개발을 진행하다가 데이터베이스가 선택되면, 해당 부분만 구현하고 교체하면 된다.

 

 

 

 

따라서, 현재의 회원 객체 다이어그램을 보면 다음과 같다.

 

객체가 메모리 회원 저장소를 참조하도록 하였다.

 

 

 

 

출처 : 김영한 - spring 핵심 원리 - 기본편

 

 

: 회원서비스는 MemberServiceImpl

 

 

 

 

 

 

김영한 '스프링 핵심 원리 - 기본편' 강의를 기반으로 작성하였습니다.

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8