modello Front Controller
Fronte controller modello (pattern Front Controller) viene utilizzato per fornire un meccanismo centralizzato per la gestione delle richieste, tutte le richieste vengono elaborati da un singolo gestore. Il gestore può fare l'autenticazione / autorizzazione / registrazione o richiesta di monitoraggio, quindi la richiesta al gestore appropriato. Di seguito è un'entità di questo modello di progettazione.
- Front controller (front controller) - un singolo gestore di trattare tutti i tipi di richieste di un'applicazione, l'applicazione può essere un'applicazione web-based che possono essere applicazioni desktop-based.
- Scheduler (Dispatcher) - regolatore di front-end può utilizzare un oggetto dispatcher di inviare la richiesta al gestore specifica appropriata.
- View (Vista) - punto di vista è l'oggetto della richiesta e ha creato.
realizzazione
CreeremoFrontController,Dispatcher, rispettivamente, come il controller front-end e di pianificazione.HomeVieweStudentViewvista che mostra una varietà di controller di front-end riceve una richiesta per creare.
FrontControllerPatternDemo,la nostra classe dimostrazione per dimostrare l'usoFrontControllerfront controller design pattern.
fase 1
Creare la vista.
HomeView.java
public class HomeView { spettacolo public void () { System.out.println ( "Visualizzazione pagina"); } }
StudentView.java
public class StudentView { spettacolo public void () { System.out.println ( "Visualizzazione Student pagina"); } }
fase 2
Crea Dispatcher dispatcher.
Dispatcher.java
public class Dispatcher { privato StudentView studentView; privato HomeView homeView; Dispatcher pubblico () { studentView = new StudentView (); homeView = new HomeView (); } invio public void (richiesta String) { if (request.equalsIgnoreCase ( "studente")) { studentView.show (); } Else { homeView.show (); } } }
fase 3
Creazione di un FrontController front controller.
Context.java
public class FrontController { dispatcher Dispatcher privato; FrontController pubblico () { dispatcher = new Dispatcher (); } isAuthenticUser boolean privato () { System.out.println ( "utente viene autenticato con successo."); return true; } vuoto trackRequest privato (richiesta String) { System.out.println ( "pagina richiesta:" + richiesta); } dispatchRequest public void (richiesta String) { // Registra ogni richiesta trackRequest (richiesta); // Per autenticare l'utente se (isAuthenticUser ()) { dispatcher.dispatch (richiesta); } } }
fase 4
FrontControllerper dimostrare l'utilizzo del modello di progettazione front controller.
FrontControllerPatternDemo.java
public class FrontControllerPatternDemo { Main (string [] args) {public static void FrontController frontController = new FrontController (); frontController.dispatchRequest ( "HOME"); frontController.dispatchRequest ( "STUDENTE"); } }
fase 5
Verifica uscita.
Pagina richiesta: HOME Utente viene autenticato con successo. Visualizzazione pagina Pagina richiesta: STUDENTI Utente viene autenticato con successo. Visualizzazione Student Pagina