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

장서연·2022년 1월 1일
0

스프링 입문

목록 보기
9/25

비즈니스 요구사항

  • 데이터: 회원ID, 이름
  • 기능: 회원등록, 조회
  • 아직 데이터 저장소가 선정되지 않음(가상의 시나리오)

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

  • 컨트롤러: 웹 MVC의 컨트롤러 역할
  • 서비스: 서비스는 리포지토리의 객체를 사용한다. 핵심 비즈니스 로직 구현. 예)회원은 중복가입을 할 수 없다
  • 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리
  • 도메인: 비즈니스 도메인 객체. 예)회원, 주문, 쿠폰 등 주로 DB에 저장되고 관리됨

이 수업에서도 위와 같이 일반적인 계층형 구조를 따라갈 것이다.

클래스 의존관계


✔ 회원 비즈니스 로직으로는 MemberService 클래스,
✔ 회원을 저장하는 건 MemberRepository 인터페이스로 구현할 것이다.
MemberRepository를 인터페이스로 하는 이유는, 위에서 아직 데이터 저장소가 아직 설정되지 않은 것으로 가상의 시나리오를 짰기 때문이다. 그래도 어떻게 개발은 진행해야 되니까, 구현체로 가벼운 메모리 기반의 데이터 저장소를 사용할 것이다.

  • 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계
  • 데이터 저장소는 RDB, NoSQL 등 다양한 저장소를 고민중인 상황으로 가정
  • 개발을 진행하기 위해서 초기 개발 단계에서는 구현체로 가벼운 메모리 기반의 데이터 저장소 사용
  • 향후에 RDB나 JPA등 구체적인 기술이 선정되고 나면 이걸로 바꿔끼워주기 위해 MemberRepository를 인터페이스로 구현

0개의 댓글