Front Controller
Front-Controller-Muster (Front Controller) verwendet wird, für den Umgang mit Anfragen, einen zentralen Mechanismus zur Verfügung zu stellen, werden alle Anforderungen von einem einzelnen Handler verarbeitet. Der Handler kann die Authentifizierung / Autorisierung / Protokollierung oder Tracking-Anfrage zu tun, dann die Anforderung an den entsprechenden Handler. Im Folgenden ist ein Unternehmen von diesem Design-Muster.
- Front Controller (Front Controller) - ein einzelner Handler alle Arten von Anfragen , eine Anwendung zu verarbeiten, kann die Anwendung eine webbasierte Anwendung, die Desktop-basierte Anwendungen sein kann.
- Scheduler (Dispatcher) - Front-End - Controller auf einem Dispatcher - Objekt verwenden, um die Anforderung an den entsprechenden spezifischen Handler zu versenden.
- Ansicht (Ansicht) - Ansicht ist das Ziel der Anfrage und erstellt.
Realisierung
Wir schaffenFrontcontroller,Dispatcher jeweils als Front-End - Controller und Planer.HomeviewundStudentViewAnsicht , die eine Vielzahl von Front-End - Controller zeigt eine Anfrage zu erstellen.
FrontControllerPatternDemozu unserer Demonstration Klasse die VerwendungFrontcontrollerFront Controller - Entwurfsmuster zeigen.
Schritt 1
Erstellen Sie die Ansicht.
HomeView.java
public class Homeview { public void show () { System.out.println ( "angezeigte Home Page"); } }
StudentView.java
public class StudentView { public void show () { System.out.println ( "angezeigte Studenten Seite"); } }
Schritt 2
Erstellen Dispatcher Dispatcher.
Dispatcher.java
public class Dispatcher { Privat StudentView studentView; Private Homeview Homeview; public Dispatcher () { studentView = new StudentView (); Homeview = new Homeview (); } public void Versand (String Anfrage) { if (request.equalsIgnoreCase ( "Student")) { studentView.show (); } Else { homeView.show (); } } }
Schritt 3
Erstellen eines Front-Controller Frontcontroller.
Context.java
public class Frontcontroller { Privat Dispatcher Dispatcher; public Frontcontroller () { Dispatcher = new Dispatcher (); } Private boolean isAuthenticUser () { System.out.println ( "Benutzer erfolgreich authentifiziert wurde."); return true; } private void trackRequest (String Anfrage) { System.out.println ( "Seite angefordert:" + Anfrage); } public void dispatchRequest (String Anfrage) { // Zeichnen Sie jede Anfrage trackRequest (Anfrage); // Um den Benutzer, wenn (isAuthenticUser ()) {authentifizieren dispatcher.dispatch (Anfrage); } } }
Schritt 4
Frontcontrollerdie Verwendung des Front - Controller - Entwurfsmuster zu demonstrieren.
FrontControllerPatternDemo.java
public class FrontControllerPatternDemo { public static void main (String [] args) { Frontcontroller frontcontroller = new Frontcontroller (); frontController.dispatchRequest ( "HOME"); frontController.dispatchRequest ( "Student"); } }
Schritt 5
Stellen Sie sicher, ausgegeben.
Seite angefordert: HOME Benutzer erfolgreich authentifiziert wurde. Anzeige Startseite Seite angefordert: STUDENT Benutzer erfolgreich authentifiziert wurde. Anzeige Studenten Seite