비즈니스 요구사항과 설계
회원
가입하고 조회
일반과 VIP 두 가지 등급
회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동 가능(미확정)
주문과 할인 정책
회원은 상품 주문 가능
등급에 따라 할인 정책
모든 VIP는 1000원 고정 할인(후에 변경 가능)
할인 정책은 변경 가능성 높음
>> 회사의 기본 할인을 아직 정하지 못함, 오픈 직전까지 고민, 최악의 경우 할인 적용 X(미확정)
회원 데이터, 할인 정책 : 지금 결정하기 어려운 부분
>> 객체 지향 설계 활용
>> 인터페이스를 만들고 구현체를 언제든지 갈아끼울 수 있도록 설계
회원 도메인 설계
회원 도메인 협력 관계
회원 클래스 다이어그램
회원 객체 다이어그램
회원 도메인 설계의 문제점
의존 관계가 인터페이스 뿐만 아니라 구현까지 모두 의존
주문과 할인 도메인 설계
주문 생성 : 클라이언트는 주문 서비스에 주문 생성을 요청
회원 조회 : 할인을 위해서는 회원 등급이 필요, 주문 서비스는 회원 저장소에서 회원 조회
할인 적용 : 주문 서비스는 회원 등급에 따른 할인 여부를 할인 정책에 위임
주문 결과 반환 : 주문 서비스는 할인 결과를 포함한 주문 결과를 반환
주문 도메인 클래스 다이어그램
주문 도메인 객체 다이어그램
회원을 메모리에서 조회하고, 정액 할인 정책(고정 금액)을 지원해도 주문 서비스 변경 x
회원을 메모리가 아닌 실제 DB에서 조회하고, 정률 할인 정책(금액에 따른 %)을 지원해도 주문 서비스 변경 x
출처 : 김영한, 스프링 핵심 원리 - 기본편
'Spring' 카테고리의 다른 글
Spring / 스프링 컨테이너와 빈 (0) | 2025.03.23 |
---|---|
Spring / 예제에 객체 지향 원리 적용 (0) | 2025.03.23 |
Spring / 객체 지향 설계와 스프링 (0) | 2025.03.21 |
Spring / AOP (0) | 2025.03.19 |
Spring / 스프링 DB 접근 기술 (0) | 2025.03.19 |