Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 15670|Antwoord: 1

Opmerking over het ontwerp van de systeemarchitectuur - samenvatting van de ontwikkeling

[Link kopiëren]
Geplaatst op 14-11-2018 13:32:04 | | | |
inleidingTot nu toe heb ik twee of drie projecten gedaan, waaronder onderwijs, forums en CMS, en elk project gebruikt de commentaarfunctie, dus ik wil de commentaarsectie apart verwijderen en er een componentgebonden module van maken. Het bespaart niet alleen ontwikkelingswerk, maar geeft je ook een beter begrip van de functies van deze module.
Aangezien ik momenteel voornamelijk ontwikkel met het TP-framework, zullen de volgende voorbeelden worden gepresenteerd in de syntaxis van het TP-framework. Maar in feite vind ik persoonlijk dat het kerndeel van de methode onvoldoende is, en ik heb de functie van het associatiemodel niet gebruikt. Dit is wat ik in de volgende update zal implementeren.
In het grootste deel zal ik je vooral vertellen over de verschillende modi van commentaarsystemen waarmee ik tot nu toe ben blootgesteld, hun respectievelijke voordelen en nadelen analyseren, en een idee geven van het ontwerpen en extraheren van datatabellen, hopend nuttig voor je te zijn. Als er iets ongepast is, is iedereen ook welkom om het te corrigeren.

Reactiesysteem

Er zijn drie hoofdtypen veelvoorkomende commentaarsystemen: bouwen binnen een gebouw, streamingmodus en citatiemodus (allemaal met mijn eigen namen), en het volgende richt zich op de voor- en nadelen van deze drie en hoe ze te implementeren.

1. Bouw-in-een-gebouw modus
Het zogenaamde gebouw-in-een-gebouwmodel betekent dat elke opmerking de eerste verdieping bezet, en alle antwoorden op de opmerking worden weergegeven in het gebouw, zoals het commentaarsysteem van Baidu Tieba en Jianshu.




Voordeel:Reageer op opmerkingen met een gerichte blik, waardoor het gemakkelijk is om het gesprek dat ze opstarten te begrijpen.
Nadelen:Als er te veel inhoud is, moet het paginering zijn, wat ingewikkelder is.
Ontwerp van gegevensbladen:


  • id (zelftoegevoegde primaire sleutel)
  • target_id (ID van het commentaaronderwerp, dat kan worden aangepast naar article_id, course_id, enz. indien nodig)
  • parent_id (hoofdcommentaar-id)
  • reply_uid (Noteer de gebruikers-ID van de gereageerde 0 bij het reageren op de hoofdreactie)
  • UID (Gebruikers-ID die de reactie achterliet)
  • inhoud (Reactie-inhoud)
  • Andere vakgebieden... (Tijd, status, enz.)



Back-end bedrijfslogica:



2. Flowmodus

De flow-modus, zoals de naam al aangeeft, lijkt op de informatiestroom; of het nu een reactie of een antwoord is, elk bericht heeft een laag, zoals het commentaarsysteem van de laravel-China-gemeenschap.




Voordeel:De logica is eenvoudig en gemakkelijk te implementeren
Nadelen:De inhoud van de dialoog kan niet centraal worden gepresenteerd, en het is niet gemakkelijk om de inhoud van de dialoog te begrijpen.
Ontwerp van gegevensbladen:


  • id (zelftoegevoegde primaire sleutel)
  • target_id (ID van het commentaaronderwerp, dat kan worden aangepast naar article_id, course_id, enz. indien nodig)
  • reply_uid (Noteer de gebruikers-ID van de gereageerde 0 bij het reageren op de hoofdreactie)
  • UID (Gebruikers-ID die de reactie achterliet)
  • inhoud (Reactie-inhoud)
  • Andere vakgebieden... (Tijd, status, enz.)



Back-end bedrijfslogica



3. Citatiemodus

Citatiemodus lijkt op streamingmodus, behalve dat de inhoud van het antwoord wordt gepubliceerd met de geciteerde inhoud.




Voordeel:Begrijpen op welke opmerking het antwoord gericht is, kan je helpen begrijpen waar het gesprek over gaat. Het is relatief eenvoudig te implementeren.
Nadelen:Net als Stream Mode vertegenwoordigt het niet het hele gesprek in zijn geheel. Door de voor- en nadelen te analyseren, kan worden vastgesteld dat het referentiepatroon een compromis is tussen het gebouw binnen het gebouw en de stromingsmodus.
Ontwerp van gegevensbladen:


  • id (zelftoegevoegde primaire sleutel)
  • target_id (ID van het commentaaronderwerp, dat kan worden aangepast naar article_id, course_id, enz. indien nodig)
  • reply_id (reactie-ID van de gereageerde, hoofdreactie is 0)
  • UID (Gebruikers-ID die de reactie achterliet)
  • inhoud (Reactie-inhoud)
  • Andere vakgebieden... (Tijd, status, enz.)



Back-end bedrijfslogica:

Om de lijst met recensies te krijgen, kun je de commentaartabel koppelen om de gebruikersinformatie en reacties te vinden die de reacties citeren. Doe daarna een eenvoudig pagineringsproces.


Hierboven volgt een voorlopige samenvatting van de drie commentaarmodi, het stijlgedeelte is nog niet opgelost, en na het voltooien van het blogproject wordt ook het front-end stijlgedeelte toegevoegd. Voor bovenstaande inhoud, als er tekortkomingen zijn, hoop ik dat je advies geeft.




Vorig:Wu Shizi Tong DSLR fotografie videotutorial
Volgend:Windows Event Log-gegevens - Inlogtype
Geplaatst op 16-08-2021 16:07:24 |
Hallo, ik zag je bericht over het reactiesysteem, ik heb er veel van geprofiteerd, en ik ben momenteel bezig met het voorbereiden van een commentaarsysteem, het datavolume is ongeveer 1 miljard, het dagelijkse aantal bezoeken is 100w+ Ik wil graag vragen over ontwerp stellen, als het handig is, kun je dan je WeChat toevoegen?  Mijn WeChat is BennyTian, bedankt!!
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com