인프런 커뮤니티 질문&답변
상품상세-코드 / ProductSection의 분리 이유
해결된 질문
작성
·
55
·
수정됨
1
안녕하세요, 강사님.
Product의 상세 정보(Full Information)를 ProductSection으로 분리한 이유가 궁금합니다.
섹션3.상품상세 - 코드 느끼기 수업 중 07:50 지점에서
'상품 상세 정보(Full Information 부분)를 이미지만이 아닌, HTML과 이미지의 복합으로도 구성할 수 있다고 전제하고 ProductSection을 만들었다.'고 하셨는데 '상품 상세 정보를 이미지+HTML로 구성'하는 것이 ProductSection으로 분리'한다는 결정에 어떤 영향을 준건지 모르겠습니다.
제가 생각해 본 경우는 다음과 같습니다.
상품의 Full Information이 여러 이미지와 HTML 요소로 구성되니 하나의 상품에 여러 요소가 연관되는 일대다 관계를 만들기 위해 별도의 개념으로 분리시켰다.
Full Information을 이미지 또는 HTML로 구성할 때 이미지인지, HTML인지 타입 정보(
ProductSectionType)가 필요하니 높은 응집성을 위해 별도의 개념으로 분리시켰다.상품 정보에 특정 속성에 대한 정보(이미지인가, HTML인가)가 속성으로 포함되는 것보다는 아예 분리하는 것이 응집성이 높지 않을까 싶습니다.
위의 부분 외에 분리의 이유를 예상해보면 다음고 같은 듯 합니다.
ProductSection이 상품의 본질은 아니고 '상품을 어떻게 보여줄 것인가, 어떻게 판매할까'에 관한 것상품의 생성과 함께 반드시 따라 붙어야하는 종류는 아님
조회 패턴, 수정 패턴이 다름
상품 정보보다는 상품 섹션이 더 자주 바뀔 것 같습니다.
수업 잘 듣고있습니다.
감사합니다.
답변 2
1
오우 질문(?) 감사드립니다!
그런데 너무 잘 이해하신 것 같아서 제가 추가로 설명할게 없습니다!! 😅
적어주신 내용이 다 맞고 분리를 판단할때 느낀 기준의 우선순위를 최대한 매겨서 나눠보면..!
ProductSection이 상품의 본질은 아니고 '상품을 어떻게 보여줄 것인가, 어떻게 판매할까'에 관한 것상품의 생성과 함께 반드시 따라 붙어야하는 종류는 아님 + 조회 패턴, 수정 패턴이 다름
상품의 Full Information이 여러 이미지와 HTML 요소로 구성되니 하나의 상품에 여러 요소가 연관되는 일대다 관계를 만들기 위해 별도의 개념으로 분리시켰다.
Full Information을 이미지 또는 HTML로 구성할 때 이미지인지, HTML인지 타입 정보(
ProductSectionType)가 필요하니 높은 응집성을 위해 별도의 개념으로 분리시켰다.
이렇게 볼 수 있을 것 같습니다!
강의가 도움이 되고 있다면 다행입니다!!
0
안녕하세요, 인프런 AI 인턴입니다. 백엔드해야지님!
Product의 상세 정보를 ProductSection으로 분리하는 이유에 대해 질문해 주셨습니다. 이 질문은 소프트웨어 설계에서 매우 흥미로운 부분인데요, 관련해서 유사한 질문과 답변을 찾아보았습니다.
상세 정보의 다양성:
ProductSection은 상품의 상세 정보가 단순한 이미지뿐만 아니라 HTML 요소도 포함할 수 있다는 점에서 별도의 개념으로 분리되었습니다. 이는 하나의 상품이 여러 종류의 상세 정보를 가질 수 있기 때문에 발생하는 문제를 해결합니다. 다양한 포맷의 정보를 지원함으로써 상품의 표현력을 높이고, 앞으로 다양한 확장 가능성을 가지고 설계할 수 있습니다.응집성과 책임 분리:
ProductSection을 별도의 개념으로 분리함으로써 각 섹션이 명확한 책임을 가질 수 있습니다. 각각의 섹션이 이미지 또는 HTML로 구성될 수 있고, 이러한 정보가 섞여 있을 경우 타입 정보(ProductSectionType)가 필요하기 때문에, 이러한 책임을 분리하여 더 높은 응집성을 실현하고자 한 것입니다.확장성과 관리 용이성: 만약 향후에 상품 정보에 추가적인 상세 정보 유형이 추가된다면,
ProductSection을 통해 쉽게 확장할 수 있습니다. 또한, 수정이나 유지보수가 용이하게 되며, 전체 시스템의 복잡도를 줄일 수 있습니다.
이러한 설계적 결정은 소프트웨어의 확장성과 유지보수성을 높이는 데 큰 도움이 됩니다. Product와 ProductSection 간의 관계를 설정하게 되면, 데이터의 흐름과 연계를 보다 명확하게 관리할 수 있습니다.
현재 제공된 강의의 문맥과 유사한 질문에 대한 답변은 “프로덕트와 카테고리에 대한 질문”을 참고하시면 좋을 것 같습니다. 이 답변은 제품과 관련된 정보의 구조적 배치를 설명하는 데 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





답변 감사합니다.
수업을 들을 때 뭐랄까요... 제 생각이 닿지 않는 부분이 많다고 느꼈는데
강사님이 생각하시는 우선순위를 보니 제 사고가 코드나 구현에 우선순위를 두고, 코드 안에 갇혀있는 것 같네요.
추상적인 부분까지 사고를 넓혀보도록 하겠습니다.
감사합니다.