0. 개요
이 게시물은 앞으로 작성할 스프링 게시물들에 등장할 예시 프로젝트의 구성을 설명하는 글이다.
1. 비즈니스 요구사항과 설계
예시 프로젝트의 구조는 크게 회원, 주문, 할인 정책 3가지로 나뉜다.
- 회원
- 회원을 가입하고, 조회할 수 있다.
- 회원은 일반, VIP 2가지 등급이 있다.
- 회원 데이터는 자체 DB를 구축할 수도 있고, 외부 시스템과 연동할 수도 있다.
- 주문과 할인 정책
- 회원은 상품을 주문할 수 있다.
- 회원 등급에 따라 할인 정책을 적용할 수 있다.
- 할인 정책은 변경 가능성이 높으며, 현제 2가지 정책을 고민하고 있다.
- 1) 모든 VIP는 1000원을 할인해주는 고정 금액 할인을 적용하자.
- 2) 모든 VIP는 구매 금액의 10%를 할인해주는 정책을 적용하자.
요구사항을 보면 회원 데이터를 저장하는 곳, 할인 정책 적용은 설계 단계에서 결정할 수 있는 부분이 아니다. 하지만, 정책이 결정되지 않아도 인터페이스를 만들고, 구현체를 갈아끼우는 방식을 사용하면 먼저 개발할 수 있다!
2. 프로젝트 기능과 흐름
프로젝트의 기능은 결국
- 회원가입 및 조회
- 주문 생성
으로 나눌 수 있다. 따라서 각각 기능의 흐름을 확인해 보자.
1) 회원가입 및 조회
또한, 추상화를 적용시킨다면 실제 인터페이스와 클래스의 관계는 다음과 같을 것이다.
2) 주문 생성
또한, 추상화를 적용시킨다면 실제 인터페이스와 클래스의 관계는 다음과 같을 것이다.
위 내용은 김영한 님의 인프런 강의 "스프링 핵심 원리 - 기본편"의 내용과 강의자료를 토대로 작성된 게시글입니다.
강의 링크:
'Web > spring study' 카테고리의 다른 글
[Spring] 스프링 빈 자바 코드로 수동 등록(@Configuration, ApplicationContext) (0) | 2023.01.09 |
---|---|
[Spring] 스프링 빈과 스프링 컨테이너 (0) | 2023.01.09 |
[Spring] IOC, DI, 컨테이너 (0) | 2022.12.17 |
[Spring] 객체 지향 설계와 스프링 (0) | 2022.05.26 |
[Spring] 좋은 객체 지향 설계 5가지 원칙(SOLID) (0) | 2022.05.26 |
댓글