Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

엔티티, 값 객체 판단하는 기준은 생애주기의 존재 여부와 그 생애주기의 연속성 여부가 중요하다? #3

Open
java-saeng opened this issue Mar 2, 2024 · 3 comments

Comments

@java-saeng
Copy link
Contributor

도메인 주도 설계 철저 입문에서는

엔티티와 값 객체를 구분하는 것은 생애주기의 존재 여부와 그 생애주기의 연속성 여부가 중요한 판단 기준이라 했다. 그 예시로 사용자라는 객체는 생성하는 동시에 태어나 삭제와 함께 죽음을 맞기 때문에 생애주기를 가지며 연속성을 갖기 때문에 엔티티로 판단한다고 했다.

저는 이 부분이 좀 어색하더라고요.
생성하는 동시에 태어나 삭제와 함께 죽음을 맞이한다,,?

여기서 질문이 생애주기가 뭘까요?
객체가 태어나고 죽는다는게 뭘까?
시스템이 더 이상 이용할 필요가 없게 되면 사용자를 삭제하기 때문에 생애주기를 갖는다는데, 시스템이 더 이상 필요없어지면 모든 객체가 삭제되고 필요 없어지는게 아닐까?

라는 생각이 듭니다. 그래서 생애주기가 무엇일까라는 궁금증이 생기네요.

@seo-hy
Copy link

seo-hy commented Mar 4, 2024

사용자라는 객체는 생성하는 동시에 태어나: 사용자가 회원가입(생성)시 생겨나고,
삭제와 함께 죽음을 맞기: 회원 탈퇴(삭제) 시 없어진다.

저는 위와 같이 이해했었어요!

값 객체의 경우 예를들어 화폐 예제일 경우 특별하게 생성되고 삭제되는 생애주기가 없어요. 하지만 위와 같은 회원가입, 회원 탈퇴 시 명확한 생애주기가 있어서 엔티티로 판단된다고 생각했습니다~

@java-saeng
Copy link
Contributor Author

저는 시스템이 필요없어지면 값 객체도 필요없어지기 때문에 생명주기가 애매하다고 생각했어요. 그런데 서현님이 설명해주신 것처럼 회원가입 & 탈퇴 예시면 바로 이해가 되네요!
책 설명을 너무 깊게 이해하려 한 것 같아요

@seo-hy
Copy link

seo-hy commented Mar 17, 2024

지난 스터디 때 현우님이 말씀해주신 내용 중 이해가 명료하게 됐던 문장이 있어서 여기 남겨둬요!

프로그램이 종료되었을 때 사라지면 안되는 객체는 생애주기를 가지는 엔티티로 고려해볼 수 있다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants