12월 11일 - gae-jang-mo/app GitHub Wiki

ENUM Database 저장

  • ENUM 컨버터 사용 - 본인이 맡은 도메인은 직접 변경할 것
  • 컨버터는 베디가 먼저 적용한 코드를 참고할 것

API URI 명세

  • API URI 에서 username으로 정보 요청.
    • 사용자가 직접 URI 타이핑하여 들어갈 수 있는 명확성을 제공

Big Service Layer

  • Service 레이어 계층이 비대해지는 것을 어떻게 할까?
    • 하나의 Service가 여러개의 Service를 의존하게 되는 현상이 발생
      • 순환참조와 같은 문제가 발생
    • 해결책
      • facade layer 적용 : 여러 service를 하나로 아우르는 super service 생성 -> inner / outer service 분리 (추후 서비스가 커진다면 그때 적용할 예정)
      • Entity를 반환하는 메서드, Dto를 반환하는 메서드의 이름을 나누자. (채택)
        • Entity 반환 메서드 : findById(String id)
        • Dto 반환 메서드 : findDtoById(String id)
    • 서비스(Service)간 의존관계 형성 시 사용될 메서드 컨벤션
      • 우선 기본적으로 Service Layer의 메서드는 반환값을 DTO로 두는 것이 컨벤션이다.
      • 만약 한 Service가 다른 Service의 메서드를 사용해야하는 상황에서 반환값이 DTO라면 다시 Entity로 변환해야하는 번거로움이 있기 때문에 애초에 Entity로 반환하는 메서드로 만들자.
        • 해당 메서드는 Controller에서 사용되는 것이 아닌 다른 Service에서 사용되는 것이기때문에 Entity로 반환된다는 것을 메서드 이름으로 명시할 것 (위 예시 참고)
        • Entity 반환 메서드를 Controller에서 사용하지 않게 조심할 것