이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 15670|회답: 1

시스템 아키텍처 설계에 대한 코멘트 - 개발 요약

[링크 복사]
게시됨 2018. 11. 14. 오후 1:32:04 | | | |
머리말지금까지 교육, 포럼, CMS 등 두세 개의 프로젝트를 진행했는데, 각 프로젝트는 댓글 기능을 사용하기 때문에 댓글란을 따로 분리해서 컴포넌트화된 모듈로 만들고 싶습니다. 개발 작업을 절약할 뿐만 아니라 이 모듈의 기능을 더 잘 이해할 수 있게 해줍니다.
현재 주로 TP 프레임워크로 개발 중이기 때문에, 다음 예시들은 TP 프레임워크의 문법으로 제시할 예정입니다. 하지만 개인적으로는 핵심 방법 부분이 부족하다고 느끼며, 연관 모델의 기능을 제대로 활용하지 못했습니다. 다음 업데이트에서 이것을 구현할 예정입니다.
주요 부분에서는 지금까지 접해본 여러 코멘트 시스템의 방식에 대해 이야기하고, 각각의 장단점을 분석하며, 데이터 테이블 설계와 추출에 대한 아이디어를 제공해 여러분께 도움이 되길 바랍니다. 부적절한 점이 있으면 누구나 바로잡아도 좋습니다.

댓글 시스템

일반적인 댓글 시스템은 세 가지 주요 유형이 있습니다: 건물 내 구축, 스트리밍 모드, 인용 모드(모두 제가 직접 명명한 것), 아래에서는 이 세 가지 장단점과 이를 어떻게 구현할지에 초점을 맞춥니다.

1. 건물 내 건물 모드
건물 모델 내 건물은 각 댓글이 1층에 위치하며, 바이두 티에바와 젠슈의 댓글 시스템처럼 댓글에 대한 모든 답변이 건물 내에 표시된다는 의미입니다.




이점:댓글에 대해 대화를 쉽게 이해할 수 있도록 집중된 시각으로 답변하세요.
단점:내용이 너무 많으면 페이지네이션이 필요하는데, 그게 더 복잡해요.
데이터 시트 설계:


  • ID (자가 추가 기본 키)
  • target_id (댓글 주제의 ID, 필요에 따라 article_id, course_id 등으로 변경할 수 있음)
  • parent_id (메인 댓글 ID)
  • reply_uid (댓글 작성자의 사용자 ID를 기록하고, 메인 댓글에 답글할 때 0)
  • UID (댓글을 남긴 사용자 ID)
  • 내용 (댓글 내용)
  • 다른 분야들은... (시간, 상태 등)



백엔드 비즈니스 로직:



2. 흐름 모드

플로우 모드는 이름 그대로 정보의 흐름과 유사하며, 댓글이든 답글이든 각 메시지는 라라벨-차이나 커뮤니티의 댓글 시스템처럼 한 층을 차지합니다.




이점:논리는 간단하고 구현하기 쉽습니다
단점:대화의 내용은 중앙에서 제시될 수 없으며, 대화의 내용을 이해하는 것도 쉽지 않습니다.
데이터 시트 설계:


  • ID (자가 추가 기본 키)
  • target_id (댓글 주제의 ID, 필요에 따라 article_id, course_id 등으로 변경할 수 있음)
  • reply_uid (댓글 작성자의 사용자 ID를 기록하고, 메인 댓글에 답글할 때 0)
  • UID (댓글을 남긴 사용자 ID)
  • 내용 (댓글 내용)
  • 다른 분야들은... (시간, 상태 등)



백엔드 비즈니스 로직



3. 인용 모드

인용 모드는 스트리밍 모드와 유사하지만, 답변 내용이 인용된 내용과 함께 공개됩니다.




이점:답글이 어떤 댓글을 향하는지 이해하면 대화가 무엇에 관한 것인지 이해하는 데 도움이 됩니다. 구현이 비교적 쉽습니다.
단점:스트림 모드와 마찬가지로, 전체 대화를 대표하지는 않습니다. 장단점을 분석하여 기준 패턴이 건물 내 건물과 흐름 모드 간의 타협임을 알 수 있습니다.
데이터 시트 설계:


  • ID (자가 추가 기본 키)
  • target_id (댓글 주제의 ID, 필요에 따라 article_id, course_id 등으로 변경할 수 있음)
  • reply_id (댓글 작성자의 댓글 ID, 메인 댓글은 0)
  • UID (댓글을 남긴 사용자 ID)
  • 내용 (댓글 내용)
  • 다른 분야들은... (시간, 상태 등)



백엔드 비즈니스 로직:

리뷰 목록을 얻으려면 댓글 테이블을 연결해 사용자 정보와 댓글을 인용한 댓글을 확인할 수 있습니다. 그 다음 간단한 페이지네이션 과정을 진행하세요.


위 내용은 세 가지 댓글 모드의 예비 요약이며, 스타일 부분은 아직 정리되지 않았고, 블로그 프로젝트가 완료되면 프론트엔드 스타일 부분도 추가될 예정입니다. 위 내용에 대해 부족한 점이 있다면 조언해 주시길 바랍니다.




이전의:우스쯔 통 DSLR 사진 영상 튜토리얼
다음:Windows 이벤트 로그 상세 정보 - 로그인 유형
게시됨 2021. 8. 16. 오후 4:07:24 |
안녕하세요, 댓글 시스템 게시글을 봤는데 많은 도움이 되었고, 현재 댓글 시스템을 준비 중입니다. 데이터 양은 약 10억 건이고 일일 방문 수는 100w+입니다. 디자인 관련 질문이 있으면 편하다면 위챗을 추가해 주실 수 있나요?  제 위챗은 BennyTian이에요, 감사합니다!!
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com