Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- k8s
- 티스토리챌린지
- 예제로 배우는 스프링 입문
- 스프링핵심원리
- 알고리즘정렬
- 엘라스틱서치
- 알고리즘
- 스프링 핵심원리
- Sort
- JavaScript
- 스프링부트
- 자바스크립트
- 자바
- Spring
- 이펙티브자바
- 스프링
- 오블완
- kubernetes
- 카카오
- 이펙티브 자바
- Effective Java
- Effective Java 3
- 클린아키텍처
- effectivejava
- 김영한
- 이차전지관련주
- ElasticSearch
- java
- 코딩테스트
- 카카오 면접
Archives
- Today
- Total
Kim-Baek 개발자 이야기
[스프링 핵심원리] 8. 회원 도메인 설계 본문
김영한님의 [스프링 핵심 원리] 강의를 정리하고, 내가 생각한 내용까지 정리하는 포스팅
이전에 요구사항을 확인했고, 이번에는 회원 도메인에 대해서 설계를 해보도록 하겠다.
- 회원
- 회원을 가입하고 조회할 수 있다.
- 회원은 일반과 VIP 두 가지 등급이 있다.
- 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. (미확정)
회원 서비스는 이런 요구사항을 가지고 있었다.
요구사항을 토대로 도메인 간 협력 관계를 그려보면 이렇게 나온다.
클라이언트와 화원 서비스, 회원 저장소는 역할이라고 보면된다. 회원 저장소 역할은 이전에도 봤듯이 구현이 변경이 될 수 있어서, 실제 구현은 메모리 회원 저장소, DB 회원 저장소, 외부 시스템 연동 회원 저장소 세 개가 있다.
이것을 구현 레벨, 즉 코드 레벨까지 보고 설계를 하면 이런 클래스 다이어그램이 그려진다. MemberService 라는 인터페이스가 있고, 이를 구현한 MemberServiceImpl 이 있다.
이는 MemberRepository 라는 역할에 의존을 하고 있다. 그리고 이 MemberRepository는 MemoryMemberRepository와 DbMemberRepository 라는 구현체를 갖는다.
회원 객체 다이어그램
마지막은 회원 객체 다이어그램이다. 이것은 실제 서비스가 서버에 올라갔을 경우에 객체간에 연관관계를 보여준다. 이렇게 설계가 끝났으니 다음부터는 이를 구현해보도록 하자.
'개발 > Spring' 카테고리의 다른 글
[스프링 핵심원리] 10. 회원 도메인 실행과 테스트 (0) | 2021.09.29 |
---|---|
[스프링 핵심원리] 9. 회원 도메인 개발 (0) | 2021.09.29 |
[스프링 핵심원리] 7. 비즈니스 요구사항과 설계 (0) | 2021.09.28 |
[스프링 핵심원리] 6. 스프링 프로젝트 생성 시작 (0) | 2021.09.28 |
[스프링 핵심원리] 5. 객체 지향 설계와 스프링 (0) | 2021.09.27 |
Comments