DB 설계 변경에 따른 도메인 정리

Jang990·2024년 3월 28일
0

지터뷰 프로젝트

목록 보기
2/3
post-thumbnail

DB 변경 전

DB 변경 전에는 채팅처럼 면접에 대한 내용을 저장만 하면 됐다.

{ 면접, 면접내용 }
면접 역할 : 면접만료 파악, 비동기 처리된 결과 발행
면접 내용 역할 : 질문 생성, 대화내역 저장

DB 변경으로 인한 정리 필요

대화쌍(모의면접 FK, 질문 FK, 대답 FK)로 구성된 중간 테이블을 만들었다.
이제 모의면접에 대한 대화쌍을 생성하고 적절한 질문을 대화쌍에 연결하면 된다.

질문 재사용성 문제로 인한 DB 변경으로 면접 기능의 도메인이 복잡해졌다.

DB 변경에 맞춰서 급하게 서버 로직도 바꾸다 보니
각각의 도메인간의 처리 흐름이 정리가 되지 않고 사진의 화살표처럼 지저분해졌다.

{ 면접, 대화쌍, 질문, 대답 }간의 너무 복잡한 요청 흐름

각 도메인간 요청 흐름이 {면접 -> 질문, 면접 -> 대화쌍, 대화쌍 -> 면접, 대답 -> 대화쌍} 등등 규칙이 없고 너무 복잡했다.

정리

복잡성을 최소화하기 위해 최대한 각각의 도메인이 여러 도메인에게 요청하지 않고 한 도메인에게만 요청을 보내도록 수정했다.

결과적으로 각각의 도메인은 단순한 역할을 가지게 되었다.

모의면접 기능의 흐름

profile
공부한 내용을 적지 말고 이해한 내용을 설명하자

0개의 댓글