스프링

Dto to Entity, Entity to Dto 변환

고구마와 감자 2023. 11. 15. 09:33

# 1. Dto to Entity or Entity to Dto

싸비스에서 변환처리 

 

 ## 싸비스에서 변환한 이유

  • 우선 Spring Data JPA를 사용하게 되면 Entity를 받아 오므로 싸비스에서 변환해주는게 좋다.
  • 비즈니스 처리, 로직 처리 등은 서비스에서 하는게 좋지 않을까 해서 서비스에서 함. 

# 2. 사용한 변환 방법

 

포켓 몬스터 너로 정했다 !!! : Builder 패턴 

 

 

 

생성자나 대신에 Builder 패턴을 사용한 이유는 유연성, 가독성, 불변성 

 

1. 생성자는 파라미터가 많을 경우 가독성이 좋지 않고, 순서를 정해줘야한다. 

2. 값 설정 순서가 상관이 없다. 생성자는 순서가 중요하다

3. 생성자는 그때 그때 파라미터 수에 맞게 생성자를 만들어줘야 함 

 

Setter를 사용하지 않은 이유

  • 여기저기서 쉽게 수정자를 사용하게 되면 값을 변경한 의도를 파악하기 힘듬
  • 객체의 일관성 유지가 어려움. public으로 어디서든 객체의 상태를 변경하게 되므로 변경지점 파악도 어려움 
  • Setter를 지양하고 변경의 이유가 있을 때는 객체에 변경에 관한 메서드를 만들어 사용하는 것이 객체지향적인 코드를 작성하기 용이함

빌더패턴 관련해서는 아래 블로그 참고 바람

https://dev-youngjun.tistory.com/197