1. 상품 엔티티에 비지니스 로직 추가
2. 상품 레포지토리
3. 상품 서비스
1. 상품 엔티티에 비지니스 로직 추가
도메인 주도 설계를 할 때 엔티티 자체에서 해결가능할 때 엔티티 내부에 비즈니스 로직을 넣는 것이 굉장히 좋음(OOP)
도메인 주도 설계를 할 때 엔티티 자체에서 해결가능할 때 엔티티 내부에 비즈니스 로직을 넣는 것이 굉장히 좋음(OOP)
도메인 주도 설계를 할 때 엔티티 자체에서 해결가능할 때 엔티티 내부에 비즈니스 로직을 넣는 것이 굉장히 좋음(OOP)
도메인 주도 설계를 할 때 엔티티 자체에서 해결가능할 때 엔티티 내부에 비즈니스 로직을 넣는 것이 굉장히 좋음(OOP)
그전 엔 보통 service에서 stockquantity를 가져와서 값을 넣고 setStockQuantity로 결과를 넣는 식으로 했을 것이다.
-> 그러나 OOP적으로는 data를 가지고 있는 쪽에서 비즈니스 로직을 가지고 있는게 가장 좋다.
-> 그래야 응집력이 있다.
-> stockQuantity를 가지고 있는 Item Entity 에서 관련 비즈니스 로직을 가지고 있는게 Best.!!!!!!
( 무슨 말이냐 = stockQuantity를 변경하고 싶으면 Setter를 쓰는게 아니라 엔티티에서 핵심 비즈니스로직으로 변경해야한다. -> 실무에서는 Setter 막아둠. 여기선 예제라 그냥 넣어둠. )
# 사용자지정 예외 만들기
위에 4개만 오버라이드 하자.
--------------------------------------------------------------------------------------------------------- 2. 상품 레포지토리
--------------------------------------------------------------------------------------------------------- 3. 상품 서비스
서비스는 레포지토리에 단순하게 위임만 하는 클래스이다 . (개발이 단순하다. )
위임만 하는데 필요있을 까? -> 고민해보기 ( 어떨 때는 컨트롤러 -> 리포지토리로 가기도한다. )
ItemService 테스트 해보기. MemberService와 완전히 똑같음.
'Java, Spring > 스프링부트와 JPA 활용 1' 카테고리의 다른 글
6-3. 주문 서비스 개발 (0) | 2022.08.13 |
---|---|
6-1. 주문, 주문상품 엔티티 개발 (0) | 2022.08.13 |
4-3. 회원 기능 테스트 (0) | 2022.08.12 |
4-1. 회원 리포지토리 개발 ~ 4-2. 회원 서비스 개발 (0) | 2022.08.12 |
2-5. 엔티티 설계시 주의점 (0) | 2022.08.11 |