>source

백엔드 애플리케이션을 만들고 있으며 도메인 기반 디자인을 구현하려고 합니다. 그러나 명확히 하고자 하는 데이터 구조에 대한 질문이 있었습니다.

데이터베이스 구조

<테이블 클래스="s-테이블"> <머리> 사용자 <바디> 아이디(PK ????) 이름 성 이메일 비밀번호 <테이블 클래스="s-테이블"> <머리> 고객 프로필 <바디> 사용자 ID(PK /FK ????) 높이 무게 <테이블 클래스="s-테이블"> <머리> 개인 트레이너 프로필 <바디> 사용자 ID(PK /FK ????) 특산품

위에 표시된 데이터베이스를 고려할 때 내 애플리케이션의 컨트롤러, 서비스 및 저장소를 구성하는 방법에 대해 몇 가지 의심이 있습니다.

고객 프로필과 해당 사용자를 업데이트하려고 한다고 가정해 보겠습니다.

  • 고객 컨트롤러에 전화합니다(업데이트 엔드포인트)
  • 고객 컨트롤러가 고객 서비스에 전화합니다(고객 방법 업데이트)
  • 고객 서비스는 고객 저장소에 전화를 걸어 고객 프로필을 업데이트합니다.

그리고 사용자 테이블에서 해당 사용자를 업데이트하려면? 고객 서비스는 사용자 서비스에서 업데이트 메서드를 호출해야 합니까? 아니면 고객 서비스에서 사용자 저장소에 직접 전화를 걸어야 합니까?

나는 그것이 올바른지, 서비스가 다른 서비스에 대해 알고 있는지, 또는 서비스가 이론적으로 다른 서비스에 속하는 저장소를 알고 있는지 알지 못해 매우 혼란스럽습니다.

누군가 내 의심을 명확히 하는 데 도움을 주시면 대단히 감사하겠습니다 ????

  • 이전 rest : 변수에 저장할 때 Axios 데이터가 정의되지 않은 이유는 무엇입니까?
  • 다음 next.js : 정적 페이지에 대한 사이드바 링크 가져오기