Arhitectură modulară în javascript

Funcția de bază este preluată de modelul de mediator (cunoscut și ca Mediator). Utilizarea acestui șablon exclude interacțiunile directe dintre obiectele independente prin introducerea unui obiect intermediar. Când oricare dintre modulele de stat se schimbă, notifică miezul cererii, și apoi, la rândul său, informează despre modificările la toate celelalte module care au nevoie să știe despre asta.







Ce va reprezenta nucleul (Mediator / Mediator) într-o arhitectură modulară?

Imaginați-vă că avem două modul foarte simplu, pe care dorim să adăugați la proiect: unul primește doi parametri sub formă de numere și apoi returnează suma lor, iar celălalt primește un parametru și îl afișează pe ecran.

Mai intai vreau sa spun cateva cuvinte despre modelul Façade. Așa cum am scris mai devreme: Modulul - samovyzyvayuschayasya această funcție, variabile și metode care sunt ascunse de către utilizator, cu excepția acelor variabile și metodele pe care le doresc să facă publice. Aceste date publice se numesc fațadă, în spatele căreia se află arhitectura modulului.







Să ne uităm la un exemplu. Lăsați spațiul Namespace variabil să fie spațiul nostru de nume, în care va fi obiectul de module. în ea și vor fi stocate module.


Vom efectua aceeași operație cu al doilea modul.


După cum puteți vedea, nimic nu este complicat: un modul adaugă două numere, al doilea - afișează datele de pe ecran. Am încercat să simplific totul cât mai mult posibil, deoarece acum principalul lucru este să înțelegem arhitectura aplicațiilor modulare și să înțelegem cum ar trebui să funcționeze.

Modulele sunt gata, acum vom pregăti kernelul, care va importa aceste module și va lucra cu ele.

După cum vă amintiți, Namespace.modues este o variabilă statică care stochează modulele în sine, într-un alt cuvânt este un spațiu de nume.

Odată ce avem deja un spațiu Namespace variabile globale. apoi pe ea și opriți-vă. Să scriem în ea o funcție care va avea doi parametri. Prima este o matrice cu module, iar cea de-a doua este o funcție de apel invers, pe care aceste module le vor folosi în scopul dorit.


Din kernelul aplicației, nu este nevoie să modificăm modulele, funcția Namespace va returna numai copii.


Deci, când înțelegem exact ce ne dorim din funcția Namespace. apoi să o implementăm.


Și aici este nucleul aplicației noastre, este Modelul Mediator, este modelul de Mediator.

Ce nu are Namespace?

  1. Încărcarea fișierelor. La urma urmei, acest cod nu arată foarte bine:






Articole similare

Trimiteți-le prietenilor: