Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 15670|Antwort: 1

Kommentar zum Design der Systemarchitektur – Zusammenfassung der Entwicklung

[Link kopieren]
Veröffentlicht am 14.11.2018 13:32:04 | | | |
VorwortBisher habe ich zwei oder drei Projekte gemacht, darunter Bildung, Foren und CMS, und jedes Projekt verwendet die Kommentarfunktion, daher möchte ich den Kommentarbereich separat entfernen und daraus ein komponentenbasiertes Modul machen. Es spart nicht nur Entwicklungsarbeit, sondern ermöglicht Ihnen auch, die Funktionen dieses Moduls besser zu verstehen.
Da ich derzeit hauptsächlich mit dem TP-Framework entwickle, werden die folgenden Beispiele in der Syntax des TP-Frameworks präsentiert. Aber tatsächlich finde ich persönlich, dass der Kernteil der Methode unzureichend ist, und ich habe die Funktion des Assoziationsmodells nicht genutzt. Das werde ich im nächsten Update implementieren.
Im Wesentlichen werde ich Ihnen vor allem von den verschiedenen Kommentarsystemen erzählen, mit denen ich bisher in Berührung gekommen bin, deren Vor- und Nachteile analysieren und Ihnen eine Vorstellung vom Design und der Datenextraktion geben, in der Hoffnung, Ihnen hilfreich zu sein. Wenn etwas Unangemessenes vorliegt, ist jeder eingeladen, es zu korrigieren.

Kommentarsystem

Es gibt drei Haupttypen gängiger Kommentarsysteme: Gebäude innerhalb eines Gebäudes, Streaming-Modus und Zitationsmodus (alle habe ich mit eigenen Namen angegeben), und das Folgende konzentriert sich auf die Vor- und Nachteile dieser drei und deren Umsetzung.

1. Bau-in-einem-Gebäude-Modus
Das sogenannte Gebäude-im-Gebäude-Modell bedeutet, dass jeder Kommentar den ersten Stock einnimmt und alle Antworten auf den Kommentar im Gebäude angezeigt werden, wie zum Beispiel das Kommentarsystem von Baidu Tieba und Jianshu.




Vorteil:Antworten Sie auf Kommentare mit einem fokussierten Blick, der es leicht macht, das Gespräch, das sie auslösen, zu verstehen.
Nachteile:Wenn es zu viel Inhalt gibt, muss es Paginierung sein, was komplizierter ist.
Datenblatt-Design:


  • id (selbsthinzugefügter Primärschlüssel)
  • target_id (ID des Kommentarthems, das je nach Bedarf in article_id, course_id usw. geändert werden kann)
  • parent_id (Hauptkommentar-ID)
  • reply_uid (Die Benutzer-ID des Kommentierten notieren, 0 beim Antworten auf den Hauptkommentar)
  • UID (Benutzer-ID, die den Kommentar hinterlassen hat)
  • Inhalt (Kommentarinhalt)
  • Andere Bereiche... (Zeit, Status usw.)



Backend-Geschäftslogik:



2. Flussmodus

Der Flussmodus ist, wie der Name schon sagt, dem Informationsfluss ähnlich; egal ob Kommentar oder Antwort, jede Nachricht nimmt eine Ebene ein, wie zum Beispiel das Kommentarsystem der Laravel-China-Community.




Vorteil:Die Logik ist einfach und leicht umzusetzen
Nachteile:Der Inhalt des Dialogs kann nicht zentral präsentiert werden, und es ist nicht leicht, den Inhalt des Dialogs zu verstehen.
Datenblatt-Design:


  • id (selbsthinzugefügter Primärschlüssel)
  • target_id (ID des Kommentarthems, das je nach Bedarf in article_id, course_id usw. geändert werden kann)
  • reply_uid (Die Benutzer-ID des Kommentierten notieren, 0 beim Antworten auf den Hauptkommentar)
  • UID (Benutzer-ID, die den Kommentar hinterlassen hat)
  • Inhalt (Kommentarinhalt)
  • Andere Bereiche... (Zeit, Status usw.)



Backend-Geschäftslogik



3. Zitationsmodus

Der Zitationsmodus ähnelt dem Streaming-Modus, mit der Ausnahme, dass der Inhalt der Antwort zusammen mit dem zitierten Inhalt veröffentlicht wird.




Vorteil:Zu verstehen, an welchen Kommentar die Antwort gerichtet ist, kann dir helfen zu verstehen, worum es in dem Gespräch geht. Es ist relativ einfach umzusetzen.
Nachteile:Ähnlich wie der Stream-Modus repräsentiert er nicht das gesamte Gespräch in seiner Gesamtheit. Durch die Analyse der Vor- und Nachteile lässt sich feststellen, dass das Referenzmuster ein Kompromiss zwischen dem Gebäude im Gebäude und dem Flussmodus ist.
Datenblatt-Design:


  • id (selbsthinzugefügter Primärschlüssel)
  • target_id (ID des Kommentarthems, das je nach Bedarf in article_id, course_id usw. geändert werden kann)
  • reply_id (Kommentar-ID des kommentierten, Hauptkommentar ist 0)
  • UID (Benutzer-ID, die den Kommentar hinterlassen hat)
  • Inhalt (Kommentarinhalt)
  • Andere Bereiche... (Zeit, Status usw.)



Backend-Geschäftslogik:

Um die Liste der Bewertungen zu erhalten, können Sie die Kommentartabelle verbinden, um die Benutzerinformationen und Kommentare zu erhalten, die die Kommentare zitieren. Dann machen Sie einen einfachen Paginierungsprozess.


Oben ist eine vorläufige Zusammenfassung der drei Kommentarmodi, der Style-Teil ist noch nicht gelöst, und nach Abschluss des Blogprojekts wird auch der Frontend-Style-Teil hinzugefügt. Für den oben genannten Inhalt hoffe ich, falls es irgendwelche Schwächen gibt, dass ihr euch beraten könnt.




Vorhergehend:Wu Shizi Tong DSLR Fotografie-Videotutorial
Nächster:Windows-Ereignisprotokolldetails – Anmeldetyp
Veröffentlicht am 16.08.2021 16:07:24 |
Hallo, ich habe deinen Beitrag zum Kommentarsystem gesehen, ich habe viel davon profitiert und bereite gerade ein Kommentarsystem vor. Das Datenvolumen beträgt etwa 1 Milliarde, die tägliche Anzahl der Besuche beträgt 100W+. Ich würde gerne Design-bezogene Fragen stellen. Wenn es praktisch ist, kannst du deinen WeChat hinzufügen?  Mein WeChat ist BennyTian, danke!!
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com