주문 도메인 개발
구현 기능
상품 주문
주문 내역 조회
주문 취소
순서
주문, 주문 상품 엔티티 개발
주문 리포지토리 개발
주문 서비스 개발
주문 검색 기능 개발
주문 기능 테스트
주문, 주문상품 엔티티 개발
배운 것
1. 생성자에서 List를 받을 때 ...으로 받을 수 있다.
주문 리포지토리 개발
주문 서비스 개발
배운 것
1. Cascade를 사용하면 한번만 persist해도 해당 엔티티의 구성요소들이 자동으로 persist 된다.
2. 하나의 방법으로 생성해야 유지 보수가 쉽다. 따라서 protected로 제약을 주어 개발자들이 직접 생성하지 않고 생성 메소드를 사용하도록 유도할 수 있다.
@NoArgsConstructor(access = AccessLevel.PROTECTED)
3. -> 참고: 주문 서비스의 주문과 주문 취소 메서드를 보면 비즈니스 로직 대부분이 엔티티에 있다. 서비스 계층 은 단순히 엔티티에 필요한 요청을 위임하는 역할을 한다. 이처럼 엔티티가 비즈니스 로직을 가지고 객체 지향의 특성을 적극 활용하는 것을 도메인 모델 패턴(http://martinfowler.com/eaaCatalog/ domainModel.html)이라 한다. 반대로 엔티티에는 비즈니스 로직이 거의 없고 서비스 계층에서 대부분 의 비즈니스 로직을 처리하는 것을 트랜잭션 스크립트 패턴(http://martinfowler.com/eaaCatalog/ transactionScript.html)이라 한다.
주문 기능 테스트
'웹 개발 > Back End' 카테고리의 다른 글
실전! 스프링 부트와 JPA 활용2 - API 개발 기본 (0) | 2022.01.25 |
---|---|
실전! 스프링 부트와 JPA 활용1 - 웹 계층 개발 (0) | 2022.01.09 |
실전! 스프링 부트와 JPA 활용1 - 상품 도메인 개발 (0) | 2022.01.07 |
실전! 스프링 부트와 JPA 활용1 - 회원 도메인 개발 (0) | 2022.01.06 |
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 구현 준비 (0) | 2022.01.06 |
댓글