Front controller: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
untagged isolated.
Botcrux (discussione | contributi)
m Bot: fix wl, replaced: Design Patterns patterns → Design pattern
 
(12 versioni intermedie di 9 utenti non mostrate)
Riga 1:
Il '''Frontfront Controller Patterncontroller''' è un modello di progettazione ([[Design pattern|Design Patternpattern]] architetturale) per software. Il modello si applica alla progettazione di applicazioni web. "Fornisce un punto di ingresso centralizzato per la gestione delle richieste".<ref>[[#core|Alur et al.]], p. 166.</ref>
 
Il modello Front Controller può essere implementato come un oggetto [[Java (linguaggio di programmazione)|Java]], o uno [[script]] in un [[linguaggio di scripting]] come [[PHP]], [[Active Server Pages|ASP]], [[CFML]] o [[Java Server Pages|JSP]] che è richiamato ad ogni richiesta in una [[sessione]] web. Lo script, per esempio una pagina ''index.php'', gestisce tutte le operazioni comuni al [[framework]], come la gestione delle sessioni, della cache, la validazione dell'input. In base alle richieste specifiche crea delle istanze di altri oggetti e chiama altri metodi per gestire specifiche operazioni.
 
L'alternativa al modello Front Controller è la creazione di script individuali, per esempio ''login.php'' e ''order.php'' che gestiscano le varie tipologie di richieste. In questa modalità ogni script dovrebbe duplicare il codice o gli oggetti comuni a tutte le operazioni ma, d'altra parte, ciascuno script potrebbe avere più flessibilità nell'implementazione della specifica funzione richiesta.
Riga 7:
== Esempi ==
Molti framework per applicazioni web implementano il modello Front Controller, tra cui:
* [[Spring framework|Spring]], un framework MVC [[Java (linguaggio di programmazione)|Java]]
* [[Cake PHP|Cake]], [[CodeIgniter|Code Igniter]], [[Drupal]], [[Symfony]], [[Yii framework|Yii]] e [[Zend Framework]], frameworks scritti in [[PHP]]
 
== Note ==
Riga 23:
| città =
| pagine = 650pp
| ref cid = core
| isbn = 0-13-142246-4
}}
Riga 37:
| pagine = 560pp
| url = http://www.martinfowler.com/books.html#eaa
| ref cid = PoEAA| isbn =978-0-321-12742-6}}
| isbn =978-0321127426}}
 
* {{Cita web
Line 47 ⟶ 46:
| wkautore = Martin Fowler
| accesso=2 febbraio 2008
| ref cid= fowlweb
}}
 
{{Design pattern}}
 
[[Categoria:PatternDesign pattern]]