본문 바로가기

Advance I/Spring

22.04.26

*처음 프로젝트 생성할 때 아무 dependency도 설정하지 않으면 스프링 부트가 스프링 코어의 핵심 라이브러리만 의존

비즈니스 요구사항과 설계

회원

가입, 조회.

등급: 일반, VIP

회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. (미확정)

주문과 할인 정책

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

회원 등급에 따른 할인 정책

VIP: 고정 금액 1000원 할인 (나중에 변경 될 수 있다.)

할인을 적용하지 않을 수도 있다. (미확정)

 

우선 스프링을 사용하지 않고 자바로만 개발

 

도메인 협력관계: 기획자도 볼 수 있는 그림

회원 클래스 다이어그램: 인터페이스, 클래스 간 관계. 정적 사항. 

회원 객체 다이어그램: 실제 인스턴스 간의 참조. 런타임에 동적으로 결정되는 사항

 

주문 도메인 협력, 역할, 책임

1. 주문 생성: 클라이언트는 주문 서비스에 주문 생성을 요청한다.

2. 회원 조회: 할인을 위해서는 회원 등급이 필요하다. 그래서 주문 서비스는 회원 저장소에서 회원을 조회한다.

3. 할인 적용: 주문 서비스는 회원 등급에 따른 할인 여부를 할인 정책에 위임한다.

4. 주문 결과 반환: 주문 서비스는 할인 결과를 포함한 주문 결과를 반환한다.

 

주문 도메인 전체 *역할과 구현을 분리*

 

실무에서는 동시성 문제가 있어 HashMap 대신 ConcurrentHashMap을 사용

*자동완성: ctrl+shift+enter

*main 메서드 생성: psvm+enter

*println 메서드 생성: soutv+enter

*변수 생성: ctrl+alt+v

 

'Advance I > Spring' 카테고리의 다른 글

22.04.30  (0) 2022.04.30
22.04.27  (0) 2022.04.27
22.04.25 :: 스프링 핵심 원리 - 기본편  (0) 2022.04.25
22.04.22  (0) 2022.04.22
22.04.20  (0) 2022.04.20