강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

정우용님의 프로필 이미지
정우용

작성한 질문수

제미니의 개발실무 - 커머스 백엔드 기본편

코드 느끼기

섹션2에서 Product와 Category 간 개념 정리에 대해 질문이 있습니다 !

작성

·

24

·

수정됨

0

제미니님 안녕하세요 !

강의 수강 중 Product와 Category간 개념 정리네 대해 질문이 있습니다 !

 

강의를 들으면서 Product와 Category에서 Product가 상위의 개념이라고 선택하시고 매핑 테이블을 네이밍을 ProductCategory을 사용하셨다고 이해하고있습니다 !

그런데 개념도를 봤을때.. 개념 간 매핑해주는 ProductCategory가 Product 개념 영역에 있는게 맞는지 의문이 들었습니다 !

 

Category가 Product 하위의 부가적인 정보로서 ProductCategory가 Product 개념 영역에 존재할 수도 있지만.. 강의에서 설계하는데 있어 Product가 상위 개념으로 판단을 했고, ProductCategory는 Category에 대한 부가정보인데 상위 개념이 하위 개념에 대한 것을 모르도록하는게 맞지 않나 라는 생각이 들어서 질문드립니다 !

답변 1

0

제미니님의 프로필 이미지
제미니
지식공유자

우용님 아주 흥미로운 질문 감사드립니다!

우선 Product 와 Category 관계에서 상/하위를 비교해서 말씀드렸지만
정확히하면 개념도는 평면도 개념이기에 위상으로 비교하는게 큰 의미는 없습니다 (상/하위란 것도 둘의 연관성과 별개로 거리감을 보여주는 것이라고 이해하시면 좋습니다)

더 중요한건 개념간의 거리/연관도 그리고 더더 중요한건 개념들의 중요도(우선도) 정도라고 볼 수 있을 것 같습니다


적어주신 의문 중 먼저 다시 짚어봐야하는 부분은 ProductCategory 는 Category 에 대한 부가정보라고 볼 수도 있고, 아닐수도 있습니다

왜냐하면 ProductCategory 은 Product 와 Category 를 모두 알고 있기 때문입니다
(개념도에서 ProductCategory -> Product 화살표가 없는 것은 같은 격벽 안에 있기 때문입니다)

그러므로 ProductCategory 는 사실 어디에도 존재할 수 있습니다, 반대로 클래스 이름도 CategoryProduct 으로 해도 불가능한 것은 아니라는거죠

그렇다면 무엇을 기준으로 개념도를 그린 것 일까요?


제가 개념도를 그리는 기준은 일반적으로 중요도 입니다, Category 는 이번 강의 기준으론 사실 최종 개념도에 생략 될 정도로 중요한 개념이 아닙니다

반면에 Product 는 중심에 있는 개념입니다, 그만큼 지금 우리가 만드는 서비스 기준으론 Product 중심으로 비즈니스가 돌아가는 부분이 있다는거죠

 

그 관점에서 ProductCategory 같이 모호한 친구를 어디 둘것인가에 대해서는

결국 "카테고리가 연결 된 상품 정보 vs 상품이 연결 된 카테고리 정보" 이런 상황인 것이고 여기서는 어디에/어떤기준으로 일관적으로 무게를 둘것인지 선택만 필요할 뿐인것이죠!

 

사실 Product 와 Category 는 서로 관심도 없고 굉장히 먼 사이입니다 (상/하위를 떠나서 서로 알고 싶어하지 않고 관심도 없고, 거리가 먼 상태)

마치 레이어 처럼 상/하위로 나타내기 불가능한 상태이기도합니다

  • Product 가 Category 가 있어야지만 생성 될수있다던가

  • Category 가 Product 가 있어야지만 생성 될수있다던가

위와 같은 상황이 아니니까요!

그래서 개념도 상으로도 "Product 하위에 Category 가 있다" 라고 이해하시면 안 됩니다!
(다만 우용님만의 새로운 개념도 그리기 기준을 만드신다면 가능한 부분입니다! 강의 기준으로 의도한 내용은 그렇지 않습니다는 얘기입니다ㅎㅎ)

대략 이런 느낌이 존재하는거죠

  • Product 와 Category 는 서로 관심도 없다

  • Product 와 Category 는 서로의 존재도 모른다

  • 요구사항의 의해 Product 마다 Category 가 존재 할 수있어야한다, 그런데 Product 는 이 사실을 알고싶지않다

    • 현재 우리 서비스에서 Product 는 1급 개념

    • 현재 우리 서비스에서 Cateogry 는 9급 개념

  • 우리 비즈니스의 개념을 정리해보니 Product 중심이기에 중심 개념 기준으로 개념을 모아두었다

     

 

+@ 사실 강의 초반 설명을 위해 개념도에 그려두었지만 ProductCategory 수준은 개념도에 그리지 않는게 맞습니다! 별로 중요한 개념은 아니거든요!


용어적으로 제가 혼동을 드린 부분도 있어보여서 참고하셔서 한번 더 생각 해보시면 좋을 것 같습니다!
보통 저는 개념의 급수라고 표현을 하기도하는데 상/하위보다는 1급개념, 2급개념 이런식으로 관리하는 것 같습니다!

(관련 제 유튜브 영상 : https://www.youtube.com/watch?v=H6f0VfbXcb4)

개념도는 그리기 나름이지만 제 경우는 평면으로 그리기에 위상은 없는 형태라고 봐주시면 됩니다!

 

더 궁금하신거나 이해가 더 필요하신 부분이 있다면 편하게 답글주세요!

누구나 생각해볼법한 흥미로운 질문 감사드립니다 우용님! 남은 강의도 즐거운 시간 되시고 완강 후 수강평 부탁드려요!

정우용님의 프로필 이미지
정우용

작성한 질문수

질문하기