-
Notifications
You must be signed in to change notification settings - Fork 1
[11.05 일요일] 백엔드 리팩토링 논의 항목 #81
kylekim2123
started this conversation in
General
-
- 양방향 연관관계 List들 모두 별도의 값 객체로 분리하기
- 값 객체로 분리하게 되면, getPositions()와 같은 형식으로 중간 테이블을 통해 필요한 한쪽 정보만 가져오는 메서드를 값 객체 안에 정의할 수 있음
- 그러면 서비스 객체에서 일일히 stream api로 돌지 않아도 괜찮을 것 같음
- 추가적으로 어차피 List에 add를 할 때 중간 테이블 객체를 만들어서 add하기 때문에, 편의 메서드(update)를 굳이 만들 필요가 있을까 싶음
- 중간 테이블 객체를 만드는 순간부터 이미 Many 측의 객체에 One 측의 객체가 지정되기 때문임
- Request DTO에서 문자열로 받는 Enum 값들 모두 Enum 객체로 변경하기
- Enum 객체 안에 검증 로직이 있기 때문에, 요청 body가 문자열로 들어오더라도 converter가 enum 객체로 변경하고, 이후에 enum 내에서 알아서 검증해줌
- 그러면 별도의 커스텀 어노테이션을 통해서 검증할 필요가 없음
- 추가적으로 Request DTO에서 값을 서비스 객체에서 꺼내서, 넣는 것 보다 웬만하면 toEntity에서 처리하는게 좋을듯함
- Repository에서 default 메서드를 정의해서, 예외처리가 된 getById 와 같은 메서드를 정의하고 최대한 서비스 로직을 줄이기
- 현재 AddressService에서 해당 부분 수정해야함
Beta Was this translation helpful? Give feedback.
All reactions
Replies: 1 comment
-
넵 ~ 같이 의논하면 좋을 것 같습니다!
Beta Was this translation helpful? Give feedback.
All reactions
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment