Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[11.05 일요일] 백엔드 리팩토링 논의 항목 #81

kylekim2123 started this conversation in General
Discussion options

  1. 양방향 연관관계 List들 모두 별도의 값 객체로 분리하기
  • 값 객체로 분리하게 되면, getPositions()와 같은 형식으로 중간 테이블을 통해 필요한 한쪽 정보만 가져오는 메서드를 값 객체 안에 정의할 수 있음
  • 그러면 서비스 객체에서 일일히 stream api로 돌지 않아도 괜찮을 것 같음
  • 추가적으로 어차피 List에 add를 할 때 중간 테이블 객체를 만들어서 add하기 때문에, 편의 메서드(update)를 굳이 만들 필요가 있을까 싶음
  • 중간 테이블 객체를 만드는 순간부터 이미 Many 측의 객체에 One 측의 객체가 지정되기 때문임

  1. Request DTO에서 문자열로 받는 Enum 값들 모두 Enum 객체로 변경하기
  • Enum 객체 안에 검증 로직이 있기 때문에, 요청 body가 문자열로 들어오더라도 converter가 enum 객체로 변경하고, 이후에 enum 내에서 알아서 검증해줌
  • 그러면 별도의 커스텀 어노테이션을 통해서 검증할 필요가 없음
  • 추가적으로 Request DTO에서 값을 서비스 객체에서 꺼내서, 넣는 것 보다 웬만하면 toEntity에서 처리하는게 좋을듯함

  1. Repository에서 default 메서드를 정의해서, 예외처리가 된 getById 와 같은 메서드를 정의하고 최대한 서비스 로직을 줄이기
  • 현재 AddressService에서 해당 부분 수정해야함
You must be logged in to vote

Replies: 1 comment

Comment options

넵 ~ 같이 의논하면 좋을 것 같습니다!

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet

AltStyle によって変換されたページ (->オリジナル) /