본문 바로가기

Spring40

[Spring] 객체 지향 원리 적용 새로운 할인 정책 개발주문한 금액의 %를 할인해주는 새로운 정률 할인 정책 추가   RateDiscountPolicy 추가 RateDiscountPolicy 코드 추가package hello.core.discount;import hello.core.member.Grade;import hello.core.member.Member;public class RateDiscountPolicy implements DiscountPolicy { private int discountPercent = 10; //10% 할인 @Override public int discount(Member member, int price) { if (member.getGrade() == Grade.VIP) { return price.. 2024. 12. 15.
[Spring] 스프링 핵심 원리 2 회원 도메인 설계의 문제점- 의존관계가 인터페이스 뿐만 아니라 구현까지 모두 의존   주문과 할인 도메인 설계회원은 상품을 주문할 수 있다.회원 등급에 따라 할인 정책을 적용할 수 있다.할인 정책은 모든 VIP는 1000원을 할인해주는 고정 금액 할인을 적용해야 한다. (추후 변경 가능)  주문 도메인 협력, 역할, 책임  1. 주문 생성: 클라이언트는 주문 서비스에 주문 생성을 요청한다.2. 회원 조회: 할인을 위해서는 회원등급이 필요하다. 그래서 주문 서비스는 회원 저장소에서 회원을 조회한다.3. 할인 적용: 주문 서비스는 회원 등급에 따른 할인 여부를 할인 정책에 위임한다.4. 주문 결과 반환: 주문 서비스는 할인 결과를 포함한 주문 결과를 반환한다.   주문 도메인 전체   역할과 구현을 분리해서.. 2024. 12. 2.
[Spring] 스프링 핵심 원리 비즈니스 요구사항과 설계 회원회원을 가입하고 조회할 수 있다.회원은 일반과 VIP 두 가지 등급이 있다.회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. (미확정)주문과 할인 정책회원은 상품을 주문할 수 있다.회원 등급에 따라 할인 정책을 적용할 수 있다.할인 정책은 모든 VIP는 1000원을 할인해주는 고정 금액 할인을 적용한다. (추후 변경)     회원 도메인  회원 등급public enum Grad { BASIC, VIP}  회원 엔티티public class Member { private Long id; private String name; private Grade grade; public Member(Long id, String name.. 2024. 11. 20.
[Spring] 객체지향 설계와 스프링 스프링이란?    스프링은 여러가지 기술들의 모음이라고 볼 수 있다.먼저 스프링의 가장 핵심이 되는 스프링 프레임워크, 그리고 여러 스프링 기술들을 편리하게 사용할 수 있도록 도와주는 스프링 부트, 그리고 스프링 데이터, 스프링 세션, 스프링 시큐리티, 스프링 Rest Docs, 스프링 배치, 스프링 클라우드 등등 여러가지가 있다. 가장 중요한 핵심은 스프링 프레임워크(Spring FrameWork) 이다.스프링의 모든 기술들을 편리하게 사용할 수 있도록 도와준다. 핵심 기술: 스프링 DI 컨테이너, AOP, 이벤트 등웹 기술: 스프링 MVC, 스프링 WebFlux데이터 접근 기술: 트랜잭션, JDBC, ORM 지원, XML 지원기술통합: 캐시, 이메일, 원격접근, 스케줄링테스트: 스프링 기반 테스트 지.. 2024. 10. 30.