작성
·
10
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. yhwjd님.
Repository 인터페이스가 Business 계층에 위치한 이유에 대해 궁금해 하셨군요. 이 부분은 의존성 역전 원칙(Dependency Inversion Principle, DIP)과 관련이 있습니다. DIP는 상위 레이어가 하위 레이어에 의존하지 않도록 설계되어야 하며, 인터페이스를 통해 레이어 간의 의존성을 관리합니다.
서비스 레이어(Service Layer): 비즈니스 로직을 처리하고 Persistence 계층에 접근하는 역할을 합니다. 이때, Repository 인터페이스는 데이터 저장소와의 상호작용을 추상화하여, 서비스와의 결합도를 낮춥니다.
Persistence 계층: 실제 데이터베이스와의 상호작용을 담당하며, Repository 인터페이스의 구현체가 존재합니다.
Repository 인터페이스를 Business 레이어에 두므로써, 서비스 레이어가 이 인터페이스에만 의존하게 되며, 구체적인 구현은 외부에서 주입받아 사용하는 구조로 설계합니다.
관련 질문
- 서비스 레이어(Apllication Layer) 테스트에 대한 질문 에서는 서비스 레이어에서 비즈니스 로직을 처리하는 방법과 함께, 테스트 관련 내용을 다루고 있습니다.
질문 내용이 도움이 되셨길 바라며, 추가적으로 궁금한 점이 있으시면 언제든지 질문해 주세요. 저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.