코드 품질 개선 - 세션 41: 아키텍처 설계 과정
·2025.08.08 11:00
메시지 타입별로 다른 DAO를 사용하는 구조에서 MessageModelRepository를 통해 복잡도를 낮추는 설계 방식을 소개한다.
메시지 전송 및 수신 애플리케이션에서 메시지 타입(텍스트, 이미지, 외부 리소스 등)에 따라 데이터 모델과 생성 로직이 달라질 수 있다. 특히 ExternalResource처럼 기존 모델과 로직이 완전히 다른 경우, 이를 처리하기 위한 별도의 DAO를 구현해야 한다.
하지만 클라이언트 코드에서 메시지 타입에 맞춰 여러 DAO를 직접 선택하여 사용하는 방식은 코드를 복잡하게 만들고 버그를 유발할 위험이 있다.
이를 해결하기 위해 MessageModelRepository를 도입하여 각 DAO의 supports 함수를 통해 messageId에 적합한 DAO를 자동으로 선택하도록 설계한다.
이 방식을 적용하면 클라이언트 측에서는 내부의 DAO 존재를 알 필요 없이 MessageModelRepository를 통해 일관된 방식으로 MessageModel을 획득할 수 있다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.