파사드 계층의 역할과 특징
- 논리적 의존성의 분리
- 프레젠테이션 계층과 서비스 계층간의 논리적 의존성 분리
- 프록시 객체 초기화
- 프레젠테이션 계층에서 필요한 프록시 객체를 초기화
- 비즈니스 로직 수행
- 엔티티 조회
- 레포를 직접 호출해 뷰가 요구하는 엔티티를 찾는다.
- 트랜잭션의 관리
- 프록시를 초기화하기 위해
- 파사드 계층에서 트랜잭션을 시작해야
class OrderFacade {
@Autowired
OrderService orderService;
public Order findOrder(id) {
Order order = orderService.findOrder(id);
// 프리젠테이션 계층이 필요한 프록시 객체를 강제로 초기화한다.
order.getMember().getName();
return order;
}
}
class OrderService {
public Order findOrder(id) {
return orderRepository.findOrder(id);
}
}
- 프록시 객체의 초기화는 파사드 계층에서 수행하고
- 서비스는 오로지 비즈니스 로직 수행에 집중함
장 / 단점
- 장점
- 논리적 의존성 분리
- 단점
- 중간 계층의 추가로 코드가 더 복잡해짐
- 관리해야할 코드의 양이 증가
Uploaded by N2T
'자바 > JPA' 카테고리의 다른 글
[Jpa] 준영속과 지연 로딩 (0) | 2023.11.17 |
---|---|
[Jpa] 준영속과 변경 (0) | 2023.11.17 |
[JPA 궁금증]엔티티에서 동일성 비교의 기준은? (0) | 2023.11.15 |
[JPA 궁금증] 왜 컬렉션 타입으로 Set 을 사용하지 않고 List 를 사용하는 것인가? (0) | 2023.11.15 |
[JPA] 스칼라 타입 (0) | 2023.11.12 |