# 1. Dto to Entity or Entity to Dto
싸비스에서 변환처리
## 싸비스에서 변환한 이유
- 우선 Spring Data JPA를 사용하게 되면 Entity를 받아 오므로 싸비스에서 변환해주는게 좋다.
- 비즈니스 처리, 로직 처리 등은 서비스에서 하는게 좋지 않을까 해서 서비스에서 함.
# 2. 사용한 변환 방법
포켓 몬스터 너로 정했다 !!! : Builder 패턴
생성자나 대신에 Builder 패턴을 사용한 이유는 유연성, 가독성, 불변성
1. 생성자는 파라미터가 많을 경우 가독성이 좋지 않고, 순서를 정해줘야한다.
2. 값 설정 순서가 상관이 없다. 생성자는 순서가 중요하다
3. 생성자는 그때 그때 파라미터 수에 맞게 생성자를 만들어줘야 함
Setter를 사용하지 않은 이유
- 여기저기서 쉽게 수정자를 사용하게 되면 값을 변경한 의도를 파악하기 힘듬
- 객체의 일관성 유지가 어려움. public으로 어디서든 객체의 상태를 변경하게 되므로 변경지점 파악도 어려움
- Setter를 지양하고 변경의 이유가 있을 때는 객체에 변경에 관한 메서드를 만들어 사용하는 것이 객체지향적인 코드를 작성하기 용이함
빌더패턴 관련해서는 아래 블로그 참고 바람
'스프링' 카테고리의 다른 글
@ResponseBody 와 JPA의 엔티티는 기본생성자가 필수 (0) | 2023.11.13 |
---|---|
DDD 설계 vs SQL중심 설계 (0) | 2023.11.11 |
@GeneratedValue 의 default는? (0) | 2023.11.10 |
Entity vs DTO vs VO (0) | 2023.11.07 |
HTTP method 종류 (0) | 2023.11.06 |