데브허브 | DEVHUB | 사용자 관리 구현사례 DB 인프라 구현사용자 관리 구현사례 DB 인프라 구현
- DB 인프라 구현은 서비스 구현에서 도출된 포트(인터페이스)를 기반으로 시작하며, 이는 높은 테스트 용이성을 제공합니다. 🏗️
- 정의된 모든 메서드가 실제로 사용되어 불필요한 코드가 없음을 강조하며, 이는 효율적인 설계와 개발자의 만족감을 높입니다. ✅
- MyBatis를 사용하여 데이터 접근 계층을 '매퍼(Mapper)'로 명명하고, 이 매퍼를 포트에 대한 '어댑터(Adapter)'로 구현하여 헥사고날 아키텍처 원칙을 자연스럽게 따릅니다. 🧩
- 어댑터 계층은 하부 DB 기술(MyBatis, JPA 등)에 독립적이어서, 메서드명 일관성 덕분에 DB 기술 변경 시에도 코드 수정이 용이합니다. 🔄
- 테스트 주도 개발(TDD) 방식으로 구현하며, 어댑터 자체보다는 어댑터가 사용하는 매퍼/리포지토리의 데이터 저장 및 조회 로직을 테스트 컨테이너를 활용하여 검증합니다. 🧪
- 어댑터는 주로 데이터 바인딩 역할을 하므로 로직이 최소화되어 있으며, 핵심 비즈니스 로직은 서비스 계층에서 테스트하고 매퍼 테스트로 데이터 무결성만 확인합니다. 🎯
- IDE의 참조 추적 기능을 활용하여 매퍼/어댑터의 파라미터가 서비스 계층에서 어떻게 전달되는지(예: 비밀번호 인코딩 여부) 확인하고, 데이터 처리의 정확성을 검증합니다. 🔍