Front controller: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m r2.6.4) (Bot: Aggiungo uk:Front controller
Botcrux (discussione | contributi)
m Bot: fix wl, replaced: Design Patterns patterns → Design pattern
 
(21 versioni intermedie di 16 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. SeIn daquesta un latomodalità ogni script avrebbedovrebbe duplicare il codice o gli oggetti duplicati, comuni a tutte le operazioni ma, dalld'altroaltra ogniparte, ciascuno script potrebbe avere molta 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 ==
* {{Cita libro
| cognome = Alur
| nome = Deepak
| wkautore =
| coautori = John Crup, Dan Malks
| titolo = Core J2EE Patterns, Best Practices and Design Strategies, 2nd Ed.
Line 24 ⟶ 23:
| città =
| pagine = 650pp
| urlcid = core
| doiisbn = 0-13-142246-4
| id = }}
| ref = core
| id=ISBN 0-13-142246-4}}
 
* {{Cita libro
Line 34 ⟶ 31:
| nome = Martin
| wkautore = Martin Fowler
| coautori =
| titolo = Patterns of Enterprise Application Architecture
| editore =
Line 41 ⟶ 37:
| pagine = 560pp
| url = http://www.martinfowler.com/books.html#eaa
| cid =PoEAA| isbn =978-0-321-12742-6}}
| doi =
| id =
| ref = PoEAA
| id=ISBN 978-0321127426
}}
 
* {{Cita web
Line 54 ⟶ 46:
| wkautore = Martin Fowler
| accesso=2 febbraio 2008
| ref cid= fowlweb
}}
 
{{Design pattern}}
[[Categoria:Pattern]]
 
[[Categoria:PatternDesign pattern]]
[[de:Front Controller]]
[[en:Front Controller pattern]]
[[pl:Front Controller (wzorzec projektowy)]]
[[uk:Front controller]]