본문 바로가기
Java/스프링 입문 - 스프링 부트, 웹 MVC, DB 접근 기술

[회원 관리 예제, 백엔드 개발 - (1)] 비즈니스 요구사항 정리

by Rezal 2022. 6. 29.

git repository : https://github.com/Rezalog/spring-boot-entry-inf

 

GitHub - Rezalog/spring-boot-entry-inf

Contribute to Rezalog/spring-boot-entry-inf development by creating an account on GitHub.

github.com

 

  1. 비즈니스 로직을 먼저 설정하고, 회원 도메인과 리포지토리를 만든다.
    • 비즈니스 로직(스프링 생태계를 알아보기 위한 것이므로, 단순하게 작성)
      • 데이터 : 회원ID, 이름
      • 기능 : 회원 등록, 조회
      • DB 설정 안됨을 가정(memory)
  2. 리포지토리가 정상적으로 동작하는지 확인하기 위해 테스트 케이스를 작성한다.
  3. 실제 비즈니스 로직을 적용한 회원 서비스를 개발한다.
  4. 개발한 회원 서비스가 정상적으로 작동하는지 확인하기 위해 테스트 케이스를 작성(jUnit)한다.

 

  • 컨트롤러
    • 말그대로 웹 MVC 에서 @Controller 의 역할(api, template return 등)
  • 서비스
    • 서비스 클래스의 핵심 비즈니스 로직이 들어가 있음(ex) 회원은 중복가입이 안된다)
    • 비즈니스 도메인 객체로 핵심 비즈니스 로직이 동작하도록 구현한 객체
  • 도메인
    • 회원, 주문 등 데이터베이스에 저장하고 관리되는 비즈니스 도메인 객체
  • 리포지토리
    • 데이터베이스에 접근하고, 비즈니스 도메인 객체를 DB에 저장하고 관리

 

- 클래스 의존관계

데이터베이스를 고민중인 상황으로 설정, 즉 memory 형태.

class 구현체를 interface를 갈아끼우는 형태로 가정