Layered 아키텍처에서 통합 데이터 컨테이너를 어떻게 사용할까
- 레이어드 아키텍처에서 통합 데이터 컨테이너 사용법을 개념에서 코드로 설명합니다. 💻
- 컨트롤러는 REST API 요청을
Search 컨테이너에 담고, 이는 record 타입의 Request 객체(예: NoteRequest)로 정의되며 컨트롤러 내부에 선언될 수 있습니다. 📦
- 응답은
ResponseHandler를 통해 Response 컨테이너로 자동 래핑되며, 작업 성공/실패 여부를 나타내는 code 필드(SUCCESS/FAIL)를 포함하여 일관된 응답 형식을 제공합니다. ✅
- 서비스 레이어는 컨트롤러로부터 개별 파라미터를 받는 것을 선호하며,
Search 컨테이너를 직접 넘기는 것은 지양하는 개인적인 의견을 제시합니다. ➡️
- 서비스 레이어는 리포지토리 결과를
VO 컨테이너로 감싸서 페이지 정보, 생성/수정일 등 지속성 데이터 외의 부가 정보를 함께 반환합니다. 🎁
- 리포지토리 레이어는 서비스에서 받은 파라미터를 처리하고,
void, 단일 엔티티, 엔티티 목록 등 최소한의 리턴 형태로 데이터를 반환하며, 복잡한 컨테이너 래핑은 하지 않습니다. 💾