반응형
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 |
29 | 30 | 31 |
Tags
- 자바스크립트
- 엘라스틱서치
- Sort
- Effective Java 3
- 카카오
- 코딩테스트
- 오블완
- 티스토리챌린지
- 클린아키텍처
- 이차전지관련주
- Effective Java
- java
- 스프링핵심원리
- 예제로 배우는 스프링 입문
- 자바
- 이펙티브 자바
- effectivejava
- 스프링
- Spring
- JavaScript
- 스프링부트
- k8s
- kubernetes
- 이펙티브자바
- 김영한
- 알고리즘정렬
- ElasticSearch
- 알고리즘
- 카카오 면접
- 스프링 핵심원리
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