특정 플랫폼과 관련있는 상황은 아니고..
어떤 객체를 설계하다가 생긴 궁금증인데...
A라는 엔티티와 B라는 엔티티는 서로 관련이 없었음
근데 요구사항이 바뀜에 따라서 A라는 엔티티와 B라는 엔티티가 관련이 생겨버렸음.
예를들어서 StudentGrade(학생성적)라는 엔티티와 Class(수업)라는 엔티티가 있었는데
처음에는 Class는 StudentGrade와는 상관없었다가 갑자기 StudentGrade를 제한조건으로 넣어버린것임.
이런경우
1. Class Entity와 StudentGrade엔티티는 서로 의존관계가 없이 클린하게 유지하는게 좋은가?
예를들어서 StudentGrade가 String타입이라면
"Class" Entity {
grade : String = Convert(StudentGrade.A)
}
2. 아니면 직접적으로 의존관계를 맺어주는게 좋음?
"Class" Entity {
grade: StudentGrade = StudentGrade.A
}
상황에 따라 다르겠지만 보통 어떻게 처리하는지 궁금하네..
모든 처리를 도메인 서비스로 빼는것도 방법인데 상황울 좀 더 자세히 알아야할듯 - dc App
모든 처리를 빼려고하긴했는데.. 또 그렇게하자니 엔티티 레벨단계에서 어느정도 의존성을 주는게 좋지않을까 생각이 들어서 ㅋㅋㅋㅋ 현재 구조에서는 StudentGrade라는 엔티티가 Class 엔티티 만을 위해 존재하고 있는 상태라서... 처리를 독립적으로 하고 관련 처리를 외부로 빼면 둘간의 의존성을 완전히 분리시킬 수는 있는데 하다보니까 이걸 굳이? 라는 생각도 들더라고 ㅇㅇ 어처피 의존할건데 말야..
독립적으로 쓰는게 아니면서 생명주기까지 같으면 그냥 포함시켜버리는게 맞을듯 - dc App
생명주기라는 요소도 있겠구나~ 생각해보니 두개가 같네. 포함시키는게 맞겠다. 감사!