Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 15670|Respuesta: 1

Comentario sobre el diseño de la arquitectura del sistema - resumen del desarrollo

[Copiar enlace]
Publicado en 14/11/2018 13:32:04 | | | |
prefacioHasta ahora, he hecho dos o tres proyectos, incluyendo educación, foros y CMS, y cada proyecto utiliza la función de comentarios, así que quiero quitar la sección de comentarios por separado y convertirla en un módulo componentizado. No solo ahorra trabajo de desarrollo, sino que también te permite entender mejor las funciones de este módulo.
Como actualmente estoy desarrollando principalmente con el marco TP, los siguientes ejemplos se presentarán en la sintaxis del marco TP. Pero de hecho, personalmente considero que la parte central del método es insuficiente y no he utilizado la función del modelo de asociación. Esto es lo que implementaré en la próxima actualización.
En la parte principal, te contaré sobre los distintos modos de sistemas de comentarios a los que he estado expuesto hasta ahora, analizaré sus respectivas ventajas y desventajas, y ofreceré una idea del diseño y extracción de datos de tablas de datos, con la esperanza de serte útil. Si hay algo inapropiado, todos son bienvenidos a corregirlo.

Sistema de comentarios

Existen tres tipos principales de sistemas comunes de comentarios: construir dentro de un edificio, modo streaming y modo citación (todos los cuales he puesto mis propios nombres), y lo siguiente se centra en las ventajas y desventajas de estos tres y cómo implementarlos.

1. Modo de construcción en edificio
El llamado edificio dentro de un modelo de edificio significa que cada comentario ocupa la primera planta, y todas las respuestas al comentario se muestran en el edificio, como el sistema de comentarios de Baidu Tieba y Jianshu.




Ventaja:Responde a los comentarios con una visión enfocada que facilite entender la conversación que generan.
Desventajas:Cuando hay demasiado contenido, hay que hacer la paginación, que es más complicada.
Diseño de la hoja técnica:


  • id (clave primaria autoañadida)
  • target_id (ID del tema del comentario, que se puede cambiar a article_id, course_id, etc. según sea necesario)
  • parent_id (id principal del comentario)
  • reply_uid (Registrar el ID de usuario del comentario, 0 al responder al comentario principal)
  • UID (ID de usuario que dejó el comentario)
  • Contenido (Contenido de comentarios)
  • Otros campos... (Tiempo, estado, etc.)



Lógica de negocio del backend:



2. Modo de flujo

El modo de flujo, como su nombre indica, es similar al flujo de información; ya sea un comentario o una respuesta, cada mensaje ocupa una capa, como el sistema de comentarios de la comunidad laravel-china.




Ventaja:La lógica es sencilla y fácil de implementar
Desventajas:El contenido del diálogo no puede presentarse de forma centralizada y no es fácil entender el contenido del mismo.
Diseño de la hoja técnica:


  • id (clave primaria autoañadida)
  • target_id (ID del tema del comentario, que se puede cambiar a article_id, course_id, etc. según sea necesario)
  • reply_uid (Registrar el ID de usuario del comentario, 0 al responder al comentario principal)
  • UID (ID de usuario que dejó el comentario)
  • Contenido (Contenido de comentarios)
  • Otros campos... (Tiempo, estado, etc.)



Lógica de negocio de back-end



3. Modo de citación

El modo de citas es similar al modo streaming, salvo que el contenido de la respuesta se publica junto con el contenido citado.




Ventaja:Entender a qué comentario va dirigida la respuesta puede ayudarte a entender de qué va la conversación. Es relativamente fácil de implementar.
Desventajas:Al igual que el Modo Stream, no representa toda la conversación en su totalidad. Analizando las ventajas y desventajas, se puede encontrar que el patrón de referencia es un compromiso entre el edificio dentro del edificio y el modo de flujo.
Diseño de la hoja técnica:


  • id (clave primaria autoañadida)
  • target_id (ID del tema del comentario, que se puede cambiar a article_id, course_id, etc. según sea necesario)
  • reply_id (ID de comentario del comentario, el comentario principal es 0)
  • UID (ID de usuario que dejó el comentario)
  • Contenido (Contenido de comentarios)
  • Otros campos... (Tiempo, estado, etc.)



Lógica de negocio del backend:

Para obtener la lista de reseñas, puedes conectar la tabla de comentarios para obtener la información de los usuarios y los comentarios que citan los comentarios. Luego haz un proceso sencillo de paginación.


Lo anterior es un resumen preliminar de los tres modos de comentario, la parte de estilo aún no está resuelta y, tras completar el proyecto del blog, también se añadirá la parte de estilo del front-end. En cuanto al contenido anterior, si hay alguna carencia, espero que me ayudéis a orientarme.




Anterior:Tutorial en vídeo de fotografía DSLR de Wu Shizi Tong
Próximo:Detalles del registro de eventos de Windows - Tipo de inicio de sesión
Publicado en 16/8/2021 16:07:24 |
Hola, vi tu publicación en el sistema de comentarios, me beneficié mucho y actualmente estoy preparando un sistema de comentarios, el volumen de datos es de unos 1.000 millones, el número diario de visitas es 100w+ Me gustaría preguntar sobre diseño, si te conviene, ¿puedes añadir tu WeChat?  Mi WeChat es BennyTian, ¡gracias!
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com