Intro
- 인프라스트럭처(Infrastructure)는 도메인 객체의 영속성 처리, 트랜잭션, SMTP 클라이언트, REST 클라이언트 등 다른 영역에서 필요로 하는 기능을 지원
- 도메인, 응용 영역에서 인프라스트럭처를 사용할 때 DIP를 이용하면 더욱 유연하고 테스트 쉽게 만들 수 있다
- 무조건 적인 인프라스트럭처 의존을 없앨 필요는 없다
- Spring
@Transaction
은 응용 계층에서 관리 편리
- JPA
@Entity
@Table
은 도메인 모델 클래스에서 사용할 때 편리
- 응용 영역과 도메인 영역이 인프라스트럭처에 대한 의존을 완전히 갖지 않도록 만드는 것은 자칫 구현의 복잡성을 줄 수 있음