Magento 2 este Model View, View Model System și nu MVC - Explicat

Publicat: 2017-10-04

Lansarea Magento 2 a schimbat drastic modul în care dezvoltatorii planifică și scriu cod pentru un site web. Magento oferă o platformă de comerț electronic impecabilă pentru mii de comercianți din întreaga lume pentru a-și distribui cu ușurință produsele unui public mai larg. Magento 2 este în concordanță cu arhitectura remarcabilă pe care comercianții o folosesc de mult timp.

De exemplu, platformele de comerț electronic de top, cum ar fi GlassesUSA.com, de unde puteți cumpăra ochelari online, folosesc Magento. Potrivit echipei GlassesUSA, Magento și-a făcut site-ul web ușor de scalat pentru a se potrivi diverselor cerințe de afaceri, care evoluează în fiecare zi. Cu dinamica pieței în schimbare și baza din ce în ce mai extinsă de clienți, adoptarea Magento a fost una dintre cele mai importante decizii. Acest lucru a avut o influență pozitivă și a redus timpul de nefuncționare pentru întreținerea site-ului web la aproape zero. Trebuie pur și simplu să adauge sau să modifice un modul pentru a reflecta schimbarea dorită în site-ul lor, fără a împiedica continuitatea afacerii sau experiența utilizatorului

Designul arhitectural al Magento a fost creat de dezvoltatori și pune la dispoziție un fel de cod sursă care poate fi personalizat cu ușurință pentru nevoile specifice afacerii. Este frumusețea arhitecturii care permite dezvoltatorilor și comercianților să adauge module și să extindă funcționalitatea unei teme Magento eCommerce.

Majoritatea platformelor necesită modificarea codului de bază pentru personalizarea produsului final, dar Magento depășește cu mult problemele comune. Adăugarea unei opțiuni sau funcționalități este simplificată cu instalarea unui plugin Magento. De exemplu, dacă trebuie să adăugați fragmente structurate la paginile dvs. de produse, o simplă instalare a extensiei de fragmente bogate Magento sau o aplicație similară poate face treaba. Nu este nevoie să modificați codul și să injectați informații suplimentare despre produs separat în fiecare pagină de destinație.

Designul arhitectural avantajează vânzătorii și administratorii site-urilor web de comerț electronic pentru a personaliza, actualiza și adăuga cu ușurință noi funcții. Să discutăm câteva dintre modelele arhitecturale înainte de a comenta marca Magento.

Postare asociată: Cum să editați și să ștergeți comanda în Magento 2

Model MVC (Model View Controller).

MVC este o aplicație de design care împarte accesul la date prin model, diferențiază front-end-ul cu vederea, logica de business printr-un controler. Acest model de design a fost introdus în anii 1970 pentru a separa interfața cu utilizatorul de model. Ca rezultat al încorporării MVC, devine mai ușor să reparați, să întrețineți și să testați o aplicație. Tema de bază a modelului de design este împărțirea unei aplicații în trei aspecte arhitecturale care includ modelul, vizualizarea și controlerul.

Modelul simbolizează logica de afaceri a unei aplicații printr-un set de clase. Poate fi fie un model de date, fie un model de afaceri. Un model arată, de asemenea, modul în care datele sunt modificate, modificate sau manipulate.

Vizualizarea este interfața cu utilizatorul sau partea frontală a unei aplicații. Aceasta include componente UI precum jQuery, CSS, HTML etc. Afișează datele pe care le primește de la controlerul aplicației ca informații despre rezultat. View reproduce modelul cu o interfață cu utilizatorul.

Controlorul este responsabil pentru procesarea solicitărilor pe care o aplicație le primește de la front-end. Acesta preia informații de la utilizatorii finali prin View, procesează datele prin Model și apoi le transcende înapoi la front-end (vizualizare). Funcționează ca o punte între model și vedere.

Postare sugerată: Cum să trimiți o extensie Magento 2 pe piață?

Model View ViewModel (MVVM) Sistem

MVVM este un model arhitectural utilizat în programare și dezvoltare de software. Sistemul funcționează pe un mecanism bidirecțional de legare a datelor care se află între View și ViewModel. Acest lucru simplifică automatizarea modificărilor din ViewModel pentru a le afișa în View.

MVVM are Model și View, la fel ca și modul în care acestea sunt prezente în MVC, dar controlerele sunt înlocuite cu ViewModel.

Magento 2 este un sistem MVVM sau MVC?

Magento 2 este un Model View ViewModel System și nu mai este un design structurat de MVC. Modelul MVC a fost încorporat în versiunea anterioară și pare să fie destul de asemănător cu MVVM, dar MVVM este mult mai bogat în împărțirea View și Model într-o aplicație.

MVVM are trei straturi care includ Model, View și ViewModel. Logica de afaceri a unei extensii sau aplicații este reprezentată ca model, în timp ce front-end-ul este reprezentat de vizualizare. La fel ca modul în care controlerele servesc ca mediator într-un model MVC, ViewModel face puntea dintre model și View într-un sistem MVVM.

Se spune că o extensie dezvoltată pentru Magento 2 constă în elementele de design de bază care sunt discutate mai sus. Întrucât, rolul controlorilor nu este complet eliminat din Magento 2, deoarece este responsabil pentru gestionarea fluxului de utilizatori, care include comunicarea sistemului despre solicitările utilizatorilor.

Permiteți-mi să explic același lucru cu ajutorul unui exemplu. De dragul unui exemplu, puteți încerca să configurați o nouă adresă URL și să creați un șablon phtml pentru aceasta. Când solicitați o nouă adresă URL în Magento 2, cum ar fi http://magento.abc.com/hi/friend, sistemul MVVM va trimite cererea unui controler pentru a o procesa la fel cum se face în MVC. Dar, există o diferență majoră în responsabilitatea controlorului în MVVM. Este responsabil pentru

  • Determinarea aspectului paginii de selectat
  • Gestionarea păstrării datelor din solicitările utilizatorilor
  • Și, fie comunicați sistemul pentru a răspunde cu HTTP, fie
  • Dirijați utilizatorii către pagina următoare sau anterioară

Configurarea unui exemplu de adresă URL vă va ajuta să observați că nicio variabilă nu este menționată în vizualizare, deoarece fiecare componentă de vizualizare este responsabilă pentru a obține date sau informații în sine din stratul modelului, obiectul sau o sursă externă. MVVM face ca Magento să împartă o pagină HTML în mai multe secțiuni care sunt numite containere. Aceste containere posedă blocuri care sunt conectate printr-o structură asemănătoare unui copac. Blocurile includ în plus un fișier șablon phtml.

Obiectul bloc Magento servește ca ViewModel dacă vorbiți în mod specific despre sistemul MVVM. Blocul de obiect este capabil să scaneze și să citească modelele de afaceri, cererile utilizatorilor, să achiziționeze date de la un sistem extern etc. fișierul șablon este denumit View care colaborează exclusiv cu obiectul bloc care este Modelul de vizualizare

Concluzie

Magento 2 a luat pe bună dreptate decizia de a trece la sistemul Model View ViewModel, deoarece era o nevoie de oră. Modelul MVVM merge cu un pas înainte în partiționarea logicii șablonului de logica afacerii. Sistemul este cu siguranță speculat pentru a facilita comercianții și utilizatorii finali, în timp ce dezvoltatorilor le poate fi dificil inițial să facă față codării unei extensii pentru un site web care este alimentat de Magento 2 și de sistemul MVVM.