Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175

    MVC Vs. Template Engine

    Ho dato un occhiata al framework CakePHP, è molto utile, indubbiamente, ma rispetto a un template engine come smarty quali vantaggi comporta l'uso di un framework MVC ad un template engine???

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    semplicemente sono 2 cose diverse.

    Nulla ti vieta di usare un framework mvc in accoppiata ad un template engine.

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175
    Originariamente inviato da gianiaz
    semplicemente sono 2 cose diverse.

    Nulla ti vieta di usare un framework mvc in accoppiata ad un template engine.

    ciao
    Beh sì, questo è ovvio, ma bisogna dare allora alle due cose definizioni diverse. Entrambe per ora si pongono l'obiettivo di separare la grafica dalla logica di programmazione, ma questo lo faceva già bene un template engine quale smarty. Allora perché usare un qualcosa di più macchinoso come un framework MVC? Usarli in accoppiata, sì, ma per avere quali vantaggi?

  4. #4
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    Originariamente inviato da Metallica
    Beh sì, questo è ovvio, ma bisogna dare allora alle due cose definizioni diverse. Entrambe per ora si pongono l'obiettivo di separare la grafica dalla logica di programmazione, ma questo lo faceva già bene un template engine quale smarty. Allora perché usare un qualcosa di più macchinoso come un framework MVC? Usarli in accoppiata, sì, ma per avere quali vantaggi?
    MVC è un pattern, non è un framework. In realtà fa molto di più della semplice separazione tra vista e logica applicativa (ecco uno dei tanti articoli sul pattern).
    Perchè sono due cose diverse? Un motivo su tutti: Smarty ti permette di separare vista da logica e questo è vero, ma non ti dice assolutamente nulla su come implementare la logica del sistema che sviluppi; questo vuol dire che puoi avere una mega classe che gestisce l'accesso ai dati, la connessione con il db, i controlli da effettuare...insomma un casotto per gli standard della OOA/D e OOP. Il pattern MVC ti dice qualcosa di più oltre alla separazione vista - logica, e cioè che la logica stessa va progettata ed implementata secondo criteri specifici, ovvero introduce un ulteriore grado di separazione tra controller e modello; quindi si introduce il concetto di disaccoppiamento; non si avranno più "mega-classi" che si occupano di tutto un po' senza responsabilità specifiche, ma più classi collegate tra loro ognuna con responsabilità specifiche (le classi controller per creare un punto di accesso tra vista e modello che di solito non vanno mai accoppiati direttamente e le classi model che gestiscono l'accesso ai dati e implementato funzioni di basi). La differenza è sostanziale se si rispettano alcuni paradigmi fondamentali della OOA/D e quindi della OOP, altrimenti è vero, c'è il rischi di dire che template engine e pattern MVC collassino nella stessa cosa, ma non è così.

    Spero di essere stato chiaro, considerando il fatto che sono discorsi molto ampi e che sicuramente la trattazione non è approfondita e forse priva di molte considerazioni, ma semplicemente si accenna a concetti e paradigmi della programmazione ad oggetti.


  5. #5
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    In realtà la differenza è maggiore.

    Il pattern MVC prevede la suddivisione tra "model" "view" e "controller", mentre un template engine da solo divide la view dal model+controller. Sta a te poi decidere se dividere il model dal controller.

    In pratica l'mvc ti permette un domani di cambiare model e view per fare in modo ad esempio di adattare un'applicazione web al desktop (anche se per php ha senso fino ad un certo punto).

    Non ti spiego in modo approfondito, perchè esistono molti articoli che spiegano meglio di come potrei fare io



    EDIT.

    Scusate, ho aperto la finestra per la risposta e me la sono dimenticata lì... comunque la risposta di gab mi piace

  6. #6
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    Originariamente inviato da gianiaz
    ... comunque la risposta di gab mi piace
    ... Grazie


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.