Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 15670|Răspunde: 1

Comentariu asupra designului arhitecturii sistemului - rezumat al dezvoltării

[Copiază linkul]
Postat pe 14.11.2018 13:32:04 | | | |
prefațăPână acum, am realizat două sau trei proiecte, inclusiv educație, forumuri și CMS, iar fiecare proiect folosește funcția de comentarii, așa că vreau să scot secțiunea de comentarii separat și să o transform într-un modul componentizat. Nu doar că economisește muncă de dezvoltare, dar îți permite și să înțelegi mai bine funcțiile acestui modul.
Deoarece în prezent dezvolt în principal cu cadrul TP, următoarele exemple vor fi prezentate în sintaxa cadrului TP. Dar, de fapt, personal consider că partea de bază a metodei este insuficientă și nu am folosit funcția modelului de asociere. Asta voi implementa în următoarea actualizare.
În esență, vă voi povesti în principal despre diferitele moduri de sisteme de comentarii la care am fost expus până acum, voi analiza avantajele și dezavantajele lor respective și voi oferi o idee despre proiectarea tabelelor de date și extragerea datelor, sperând să vă fie de ajutor. Dacă există ceva nepotrivit, oricine este binevenit să corecteze.

Sistem de comentarii

Există trei tipuri principale de sisteme comune de comentarii: construirea în interiorul unei clădiri, modul de streaming și modul de citare (fiecare pe care le-am dat propriile mele nume), iar următorul se concentrează pe avantajele și dezavantajele acestor trei și modul de implementare a acestora.

1. Modul de construcție într-o clădire
Așa-numita clădire în cadrul unui model de clădire înseamnă că fiecare comentariu ocupă parterul, iar toate răspunsurile la comentariu sunt afișate în clădire, cum ar fi sistemul de comentarii al Baidu Tieba și Jianshu.




Avantaj:Răspunde la comentarii cu o perspectivă concentrată care să facă ușor de înțeles conversația pe care o stârnesc.
Dezavantaje:Când este prea mult conținut, trebuie să fie paginare, ceea ce este mai complicat.
Designul fișei tehnice:


  • id (cheie primară auto-adăugată)
  • target_id (ID-ul subiectului comentariului, care poate fi schimbat în article_id, course_id etc. după nevoie)
  • parent_id (ID comentariu principal)
  • reply_uid (Înregistrează ID-ul utilizatorului comentatului, 0 când răspunzi la comentariul principal)
  • UID (ID utilizator care a lăsat comentariul)
  • Conținut (Conținut de comentarii)
  • Alte domenii... (Timp, statut etc.)



Logica de afaceri din back-end:



2. Modul de flux

Modul de flux, după cum sugerează și numele, este similar cu fluxul de informații, fie că este un comentariu sau un răspuns, fiecare mesaj ocupând un strat, cum ar fi sistemul de comentarii al comunității Laravel-China.




Avantaj:Logica este simplă și ușor de implementat
Dezavantaje:Conținutul dialogului nu poate fi prezentat centralizat și nu este ușor de înțeles conținutul dialogului.
Designul fișei tehnice:


  • id (cheie primară auto-adăugată)
  • target_id (ID-ul subiectului comentariului, care poate fi schimbat în article_id, course_id etc. după nevoie)
  • reply_uid (Înregistrează ID-ul utilizatorului comentatului, 0 când răspunzi la comentariul principal)
  • UID (ID utilizator care a lăsat comentariul)
  • Conținut (Conținut de comentarii)
  • Alte domenii... (Timp, statut etc.)



Logica de afaceri back-end



3. Mod de citare

Modul de citare este similar cu modul de streaming, cu excepția faptului că conținutul răspunsului este publicat împreună cu conținutul citat.




Avantaj:Înțelegerea către ce comentariu se adresează răspunsul te poate ajuta să înțelegi despre ce este vorba în conversație. Este relativ ușor de implementat.
Dezavantaje:Similar cu Stream Mode, nu reprezintă întreaga conversație în întregime. Analizând avantajele și dezavantajele, se poate constata că modelul de referință este un compromis între clădirea din interiorul clădirii și modul de flux.
Designul fișei tehnice:


  • id (cheie primară auto-adăugată)
  • target_id (ID-ul subiectului comentariului, care poate fi schimbat în article_id, course_id etc. după nevoie)
  • reply_id (ID-ul comentariului comentat, comentariul principal este 0)
  • UID (ID utilizator care a lăsat comentariul)
  • Conținut (Conținut de comentarii)
  • Alte domenii... (Timp, statut etc.)



Logica de afaceri din back-end:

Pentru a obține lista recenziilor, poți conecta tabelul de comentarii pentru a obține informațiile utilizatorilor și comentariile care citează comentariile. Apoi fă un proces simplu de paginare.


Cele de mai sus reprezintă un rezumat preliminar al celor trei moduri de comentariu, partea de stil nu a fost încă clarificată, iar după finalizarea proiectului de blog, va fi adăugată și partea de stil front-end. Pentru conținutul de mai sus, dacă există neajunsuri, sper să oferi îndrumare.




Precedent:Tutorial video de fotografie DSLR Wu Shizi Tong
Următor:Detalii despre jurnalul de evenimente Windows - Tip de autentificare
Postat pe 16.08.2021 16:07:24 |
Bună, am văzut postarea sistemului tău de comentarii, am beneficiat mult și în prezent mă pregătesc să creez un sistem de comentarii, volumul de date este de aproximativ 1 miliard, numărul zilnic de vizite este de 100w+ aș dori să pun întrebări legate de design, dacă este convenabil, poți adăuga WeChat-ul tău?  WeChat-ul meu este BennyTian, mulțumesc!!
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com