3주전 프로젝트인 마카오 기프트때는 모든 엔티티의 필드들은 primitive 타입을 사용했었다. 그래서 이번 프로젝트에는 vo (value object, 값객체) 를 많이 사용해보겠다고 다짐을 했기 때문에 그렇게 작업을 하는 중인데, 아직은 엔티티와 vo 의 차이점을 명확히는 알지 못해서 헷갈리는 부분이 많다.
엔티티의 필드는 모두 VO 로 바꿔주는 것이 좋다. 모두 바꾸지 못할 경우 유일성이 있는 필드는 VO 로 만들어주자.
저번 프로젝트 때 받은 피드백인데, 당시에는 이렇게 머리로 받아들이기만 했는데 막상 구현하려고 하니 헷갈리는 것이다..! 동기 중 한 분께 여쭤봤더니 엔티티와 함께 태어나고 없어진다면 vo 로 할 수 있을 것이고, 그보다 더 독립적인 기능을 한다면 엔티티로 빼면 된다고 말해주셨지만 이것도 아직은 어려웠다. 그래서 일단은 식별자 (identifier) 가 있어야 한다면 엔티티, 변경 가능성이 적다면 vo 라고 생각하기로 했고 웬만하면 다 vo 로 만들어주고 있는 중이다.
이런 많은 시도와 실패도 지금 아니면 할 수 없는 일이기 때문에 계속 시도해보자!
'TIL' 카테고리의 다른 글
Plmography 프로젝트 작업 로그 #23 - 풀스택 (23.01.04 TIL) (0) | 2023.01.04 |
---|---|
Plmography 프로젝트 작업 로그 #22 - 스프린트 관리하기 (23.01.03 TIL) (0) | 2023.01.03 |
Plmography 프로젝트 작업 로그 #20 - 컨텐츠 상세 페이지 작업중..(23.01.01 TIL) (0) | 2023.01.01 |
Plmography 프로젝트 작업 로그 #19 - api 로 유튜브 영상 불러오기 (22.12.31 TIL) (0) | 2022.12.31 |
Plmography 프로젝트 작업 로그 #18 - DB 쿼리문 + 기년회 (22.12.30 TIL) (0) | 2022.12.30 |
댓글