Front controller: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Link interni
Botcrux (discussione | contributi)
m Bot: fix wl, replaced: Design Patterns patterns → Design pattern
 
(30 versioni intermedie di 20 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. "ProvvedeFornisce un punto di ingresso centralizzato per la gestione delle richieste".<ref>[[#core|Alur et al.]], p. 166.</ref>
 
Il modello '''frontFront controller'''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 '''frontFront controller'''Controller è la creazione di script individuali, per esempio ''login.php'' e ''order.php'' che gestiscano tuttele levarie tipologie di richieste. OgniIn questa modalità ogni script avrebbedovrebbe duplicare il codice o gli oggetti duplicati, comuni a tutte le operazioni. Mama, ognid'altra parte, ciascuno script avrebbepotrebbe anche moltaavere più flessibilità nell'implementazione della gestionespecifica della specificafunzione richiesta.
 
== 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 ==
<references/>
 
== ReferencesBibliografia ==
* {{citeCita booklibro
| lastcognome = Alur
| firstnome = Deepak
| coauthorscoautori = John Crup, Dan Malks
| authorlink =
| titletitolo = Core J2EE Patterns, Best Practices and Design Strategies, 2nd Ed.
| coauthors = John Crup, Dan Malks
| publishereditore = Sun Microsystems Press
| title = Core J2EE Patterns, Best Practices and Design Strategies, 2nd Ed.
| doidata = 2003
| publisher = Sun Microsystems Press
| datecittà = 2003
| ___locationpagine = 650pp
| pagescid = 650ppcore
| urlisbn = 0-13-142246-4
}}
| doi =
| id =
| ref = core
| isbn = 0-13-142246-4}}
 
* {{citeCita booklibro
| lastcognome = Fowler
| firstnome = Martin
| authorlinkwkautore = Martin Fowler
| titletitolo = Patterns of Enterprise Application Architecture
| coauthors =
| authorlinkeditore =
| title = Patterns of Enterprise Application Architecture
| publisherdata =
| datecittà =
| ___locationpagine = 560pp
| pages = 560pp
| url = http://www.martinfowler.com/books.html#eaa
| cid =PoEAA| isbn =978-0-321-12742-6}}
| doi =
| id =
| ref = PoEAA
| isbn = 978-0321127426
}}
 
* {{citeCita web
| url = http://www.martinfowler.com/eaaCatalog/frontController.html
| titletitolo = Front Controller
| lastcognome = Fowler
| firstnome = Martin
| authorlinkwkautore = Martin Fowler
| accessdate accesso=2 February 2,febbraio 2008
| ref cid= fowlweb
}}
 
{{Design pattern}}
[[Category:Pattern]]
 
[[Categoria:Design pattern]]
[[de:Front Controller]]
[[en:Front Controller pattern]]
[[pl:Front Controller (wzorzec projektowy)]]