3. SpringBoot 입문 - 회원 관리 예제 백엔드 개발(1) - 비즈니스 요구사항 정리

2021. 3. 14. 00:14WEB Dev./Spring Boot 입문

  1. 비즈니스 요구사항 정리
  2. 회원 도메인과 리포지토리 만들기
  3. 회원 리포지토리 테스트 케이스 작성
  4. 회원 서비스 개발
  5. 회원 서비스 테스트

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

- 데이터: 회원 ID, 이름

- 기   능: 회원 등록, 조회

- 아직 데이터 저장소가 선정되지 않음 (가상의 시나리오)

일반적인 웹 애플리케이션 계층 구조

컨 트 롤 러 : 웹 MVC의 컨트롤러 역할

리포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리

도   메   인 : 비즈니스 도메인 객체 (예,, 회원, 주문, 쿠폰 등 주로 데이터베이스에 저장하고 관리됨)

서   비   스 : 비즈니스 도메인 객체를 이용해 핵심 비즈니스 로직 구현 (예,, 회원 중복 가입 불가 로직)

 

 

클래스 의존관계

- 아직 데이터 저장소가 선정되지 않아서, interface로 구현 클래스를 변경할 수 있도록 설계한다.

- 데이터 저장소는 RDB, NoSQL 등 다양한 저장소를 고민 중인 것으로 가정

- 초기 개발 단계에서 구현체로 가벼운 메모리 기반의 데이터 저장소 사용

향후에 RDB로 할지 JPA로 할지 등 구체적인 기술이 선정되면 변경해야 한다. 그렇기 때문에 interface가 필요하다.

 

Interface?

동일한 목적 하에 동일한 기능을 수행하게끔 강제하는 것이다.

, 자바의 다형성을 극대화하여 개발코드 수정을 줄이고 프로그램 유지보수성을 높이기 위해 인터페이스를 사용한다.