Magento 2 è Model View, View Model System e non MVC – Spiegazione

Pubblicato: 2017-10-04

Il rilascio di Magento 2 ha cambiato drasticamente il modo in cui gli sviluppatori pianificano e scrivono codice per un sito web. Magento offre una piattaforma di eCommerce impeccabile a migliaia di commercianti in tutto il mondo per presentare facilmente i propri prodotti a un pubblico più ampio. Magento 2 è in linea con la straordinaria architettura che i mercanti usano da tempo.

Ad esempio, le principali piattaforme di e-commerce come GlassesUSA.com da cui è possibile acquistare occhiali online utilizzano Magento. Secondo il team di GlassesUSA, Magento ha reso il suo sito Web facilmente scalabile per soddisfare le diverse esigenze aziendali, che si evolvono ogni giorno. Con le mutevoli dinamiche di mercato e la base sempre più ampia di clienti, l'adozione di Magento è stata una delle decisioni più vitali. Ciò ha avuto un'influenza positiva e ha ridotto quasi a zero i tempi di inattività per la manutenzione del sito Web. Devono semplicemente aggiungere o modificare un modulo per riflettere la modifica desiderata nel loro sito Web, senza ostacolare la continuità aziendale o l'esperienza dell'utente

Il design architettonico di Magento è stato creato dagli sviluppatori che mettono a disposizione una sorta di codice sorgente che può essere facilmente personalizzato in base alle esigenze specifiche dell'azienda. È la bellezza dell'architettura che consente a sviluppatori e commercianti di aggiungere moduli ed estendere la funzionalità di un tema di eCommerce Magento.

La maggior parte delle piattaforme richiede la modifica del codice principale per la personalizzazione del prodotto finale, ma Magento è ben oltre i problemi comuni. L'aggiunta di un'opzione o di una funzionalità è facilitata dall'installazione di un plugin Magento. Ad esempio, se devi aggiungere frammenti strutturati alle pagine dei tuoi prodotti, una semplice installazione dell'estensione rich snippets di Magento o un'applicazione simile può fare il lavoro. Non è necessario modificare il codice e inserire le informazioni aggiuntive sul prodotto separatamente in ciascuna pagina di destinazione.

Il design dell'architettura avvantaggia i venditori e gli amministratori di siti Web di e-commerce per personalizzare, aggiornare e aggiungere facilmente nuove funzionalità. Discutiamo alcuni dei modelli architettonici prima di commentare la marca di Magento.

Post correlato: Come modificare ed eliminare l'ordine in Magento 2

Modello MVC (Model View Controller).

MVC è un'applicazione di progettazione che divide l'accesso ai dati attraverso il modello, differenzia il front end con la vista, la logica di business attraverso un controller. Questo modello di progettazione è stato introdotto negli anni '70 per separare l'interfaccia utente dal modello. Nel risultato dell'incorporazione di MVC, diventa più facile riparare, mantenere e testare un'applicazione. Il tema centrale del design pattern è la divisione di un'applicazione in tre aspetti architetturali che includono il modello, la vista e il controller.

Il modello simboleggia la logica di business di un'applicazione attraverso un insieme di classi. Può essere un modello di dati o un modello di business. Un modello mostra anche il modo in cui i dati vengono modificati, modificati o manipolati.

La vista è l'interfaccia utente o il front-end di un'applicazione. Ciò include componenti dell'interfaccia utente come jQuery, CSS, HTML, ecc. Mostra i dati che ottiene dal controller dell'applicazione come informazioni sul risultato. View replica il modello con un'interfaccia utente.

Il controller è responsabile dell'elaborazione delle richieste che un'applicazione riceve dal front-end. Recupera le informazioni dagli utenti finali tramite View, elabora i dati tramite Model e quindi li trascende al front-end (view). Funziona come un ponte tra il modello e la vista.

Post suggerito: come inviare un'estensione Magento 2 al mercato?

Sistema ViewModel ViewModel (MVVM).

MVVM è un modello architettonico utilizzato nella programmazione e nello sviluppo di software. Il sistema funziona su un meccanismo di data binding a due vie che si trova tra View e ViewModel. Ciò semplifica l'automazione delle modifiche all'interno del ViewModel per visualizzarlo nella vista.

MVVM ha Model e View, proprio come questi sono presenti in MVC, ma i controller sono sostituiti con ViewModel.

Magento 2 è un sistema MVVM o MVC?

Magento 2 è un Model View ViewModel System e non più un design strutturato da MVC. Il modello MVC è stato incorporato nella versione precedente e sembra essere abbastanza simile a MVVM, ma MVVM è un modo più ricco per dividere la vista e il modello in un'applicazione.

MVVM ha tre livelli che includono Model, View e ViewModel. La logica di business di un'estensione o di un'applicazione è rappresentata come Model, mentre il front-end è rappresentato dalla View. Proprio come il modo in cui i controller fungono da mediatori in un modello MVC, ViewModel colma il divario tra il modello e la vista in un sistema MVVM.

Si dice che un'estensione sviluppata per Magento 2 contenga gli elementi di progettazione di base discussi sopra. Considerando che il ruolo di controller non è completamente rimosso da Magento 2 in quanto è responsabile della gestione del flusso utente che include la comunicazione al sistema delle richieste degli utenti.

Lascia che ti spieghi lo stesso con l'aiuto di un esempio. Per fare un esempio, puoi provare a impostare un nuovo URL e creare un modello phtml per esso. Quando richiedi un nuovo URL in Magento 2, come http://magento.abc.com/hi/friend, il sistema MVVM invierà la richiesta a un controller per elaborarla proprio come avviene in MVC. Ma c'è una grande differenza nella responsabilità del controller in MVVM. È ritenuto responsabile

  • Determinazione del layout di pagina da selezionare
  • Riuscire a preservare i dati dalle richieste degli utenti
  • E, comunica il sistema per rispondere con HTTP o
  • Indirizza gli utenti alla pagina successiva o precedente

L'impostazione di un URL di esempio ti aiuterà a notare che non una singola variabile viene menzionata nella vista perché ogni componente della vista è ritenuto responsabile di derivare dati o informazioni dal livello del modello, dall'oggetto o da un'origine esterna. MVVM fa in modo che Magento suddivida una pagina HTML in più sezioni che vengono chiamate contenitori. Questi contenitori possiedono blocchi collegati attraverso una struttura ad albero. I blocchi includono inoltre un file modello phtml.

L'oggetto blocco Magento funge da ViewModel se si parla specificamente del sistema MVVM. Il blocco di oggetti è in grado di scansionare e leggere i modelli di business, le richieste degli utenti, l'acquisizione di dati da un sistema esterno, ecc. il file del modello è definito come View che collabora esclusivamente con l'oggetto del blocco che è il modello di visualizzazione

Conclusione

Magento 2 ha giustamente preso la decisione di passare al sistema Model View ViewModel in quanto era una necessità del momento. Il modello MVVM fa un passo avanti nel partizionare la logica del modello dalla logica aziendale. Si ipotizza sicuramente che il sistema faciliti i commercianti e gli utenti finali, mentre gli sviluppatori potrebbero inizialmente trovare difficoltà a far fronte alla codifica di un'estensione per un sito Web basato su Magento 2 e il sistema MVVM.