SPRING 입문 [ 코드로 배우는 스프링 부트 ]

[스프링 입문] 섹션 3.1 회원 관리 예제 (비즈니스 요구사항 정리)

wlalsu_u 2023. 1. 9. 20:55

3.1.0  회원 관리 예제 - 백엔드 개발 순서

 

1) 비즈니스 요구사항 정리

2) 회원 도메인 / 리포지토리 생성 (회원 객체 저장소)

3) 리포지토리 동작 test case 만들기

4) 회원 서비스 개발

5) junit 테스트 프레임 워크로 회원 서비스 test

 

 

 


 

3.1.1  회원 관리 예제 - 비즈니스 요구사항

 

- 데이터 : 회원 ID / 이름

- 기능 : 회원 등록 / 회원 조회

 

- 가상 시나리오 : data 저장소가 결정되지 않은 상황 / RDB, NoSQL 등 고민중인 상황

   ( 어떠한 database로 할지 선정되지 않았지만, 개발을 해야 함)

 

     

 


 

3.1.2  웹 애플리케이션 계층 구조

 

 

 

 

1) 컨트롤러

 

- 웹 MVC 컨트롤러 역할

- API 만들 때, 컨트롤러 역할

 

 

2) 서비스

 

- 핵심 비즈니스 로직이 들어감 ( Ex. 중복 회원가입 불가)

- 비즈니스 도메인 객체를 가지고, 핵심 비즈니스 로직이 동작되도록 구현한 객체

 

 

3) Repository

 

- DB에 접근

- 도메인 객체를 DB 에 저장 / 관리

 

 

4) 도메인

 

- DB 에 주로 저장 / 관리 되는 비즈니스 도메인 객체

  ( Ex. 회원, 주문, 쿠폰 등)

 

 

DB

 

 

 


 

3.1.3  클래스 의존관계

 

 

 

 1) Member Service

 

- 회원 비즈니스 로직에는 회원 서비스 존재

 

 

2) Member Repository

 

- interface로 구현

  ( 아직 데이터 저장소가 선정되지 않았다는 가상 시나리오가 있으므로)

 

- 구현체를 MemoryMemberRepository 메모리 구현체로 만듦

  ( 개발 진행을 위해 단순한 구현체를 만들고, 구체적인 기술이 정해지면 향후에 바꾼다.)

 

 

 

 

 

 

 

 

김영한 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술' 강의를 기반으로 작성하였습니다.

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard