본문 바로가기
Web/spring study

[Spring] 예시 스프링 프로젝트 설계

by 장인이 2023. 1. 9.

0. 개요

 이 게시물은 앞으로 작성할 스프링 게시물들에 등장할 예시 프로젝트의 구성을 설명하는 글이다.

 

1. 비즈니스 요구사항과 설계

 예시 프로젝트의 구조는 크게 회원, 주문, 할인 정책 3가지로 나뉜다.

 

- 회원

  - 회원을 가입하고, 조회할 수 있다.

  - 회원은 일반, VIP 2가지 등급이 있다.

  - 회원 데이터는 자체 DB를 구축할 수도 있고, 외부 시스템과 연동할 수도 있다.

 

- 주문과 할인 정책

  - 회원은 상품을 주문할 수 있다.

  - 회원 등급에 따라 할인 정책을 적용할 수 있다.

  - 할인 정책은 변경 가능성이 높으며, 현제 2가지 정책을 고민하고 있다.

    - 1) 모든 VIP는 1000원을 할인해주는 고정 금액 할인을 적용하자.

    - 2) 모든 VIP는 구매 금액의 10%를 할인해주는 정책을 적용하자.

 

 요구사항을 보면 회원 데이터를 저장하는 곳, 할인 정책 적용은 설계 단계에서 결정할 수 있는 부분이 아니다. 하지만, 정책이 결정되지 않아도 인터페이스를 만들고, 구현체를 갈아끼우는 방식을 사용하면 먼저 개발할 수 있다!

 

2. 프로젝트 기능과 흐름

프로젝트의 기능은 결국

 

- 회원가입 및 조회

- 주문 생성

 

으로 나눌 수 있다. 따라서 각각 기능의 흐름을 확인해 보자.

 

1) 회원가입 및 조회

 

<회원가입 및 조회 흐름>

 

또한, 추상화를 적용시킨다면 실제 인터페이스와 클래스의 관계는 다음과 같을 것이다.

<회원 클래스 다이어그램>

 

2) 주문 생성

<주문 시 흐름>

또한, 추상화를 적용시킨다면 실제 인터페이스와 클래스의 관계는 다음과 같을 것이다.

<주문 도메인 클래스 다이어그램>

 

 


위 내용은 김영한 님의 인프런 강의 "스프링 핵심 원리 - 기본편"의 내용과 강의자료를 토대로 작성된 게시글입니다.

강의 링크:

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8

댓글